我有一些文件在git中未被跟踪.我做了一些更改并希望提交它们,但意识到我忘记了先检查未修改的文件.所以我隐藏了文件,然后添加了未修改的版本.
然后,当我将存储应用于存储库时,由于已经添加了文件,我会收到冲突.
如何应用存储,并强制使用存储库中的版本优先于存储库中的原始文件?
谢谢
tom*_*tom 315
使用git checkout
而不是git stash apply
:
$ git checkout stash -- .
$ git commit
Run Code Online (Sandbox Code Playgroud)
这会将当前目录中的所有文件还原为其存储版本.
如果工作目录中的其他文件有更改应该保留,那么这是一个不那么苛刻的替代方案:
$ git merge --squash --strategy-option=theirs stash
Run Code Online (Sandbox Code Playgroud)
如果索引中有更改,或者合并将触摸具有本地更改的文件,git将拒绝合并.可以使用存储库检出单个文件
$ git checkout stash -- <paths...>
Run Code Online (Sandbox Code Playgroud)
或与...互动
$ git checkout -p stash
Run Code Online (Sandbox Code Playgroud)
Net*_*uel 10
强制git stash pop
运行此命令
git stash show -p | git apply && git stash drop
Run Code Online (Sandbox Code Playgroud)
git stash show -p | git apply
然后git stash drop
如果您想放置藏起来的物品。
长话短说:
git checkout HEAD path/to/file
git stash apply
Run Code Online (Sandbox Code Playgroud)
长版:
由于您想要覆盖未提交的更改,因此您会收到此错误。使用 撤消这些更改git checkout HEAD
。您可以使用 撤消对特定文件的更改git checkout HEAD path/to/file
。排除冲突原因后,即可照常申请。
归档时间: |
|
查看次数: |
93375 次 |
最近记录: |