强制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版本。