强制git存储覆盖添加的文件

我有一些在git中没有跟踪的文件。 我做了一些改变,想提交它们,但是意识到我忘记了先检查未修改的文件。 所以我藏了这些文件,然后添加了未修改的版本。

然后,当我将存储器应用于存储库时,由于已经添加了文件而导致冲突。

如何应用隐藏,并强制隐藏的版本优先于存储库中的原始文件?

谢谢

使用git checkout而不是git stash apply

 $ git checkout stash -- . $ git commit 

这会将所有文件恢复到其隐藏的版本。


如果工作目录中的其他文件应该保留更改,这里是一个较不重要的select:

 $ git merge --squash --strategy-option=theirs stash 

如果索引有变化,或者合并会触及具有本地变化的文件,git将拒绝合并。 单个文件可以使用从存储中检出

 $ git checkout stash -- <paths...> 

或与之交互

 $ git checkout -p stash 

当你git stash apply你会得到冲突,对吧? 只要解决这些冲突就像解决合并冲突一样。 在解决的同时,从存储中select版本。