git恢复在合并期间删除的单个文件

tyb*_*103 43 git branch repository

我现在在分支'foo'.我只是跑git merge master.唯一的问题是我想保留foo中的某个文件.有没有办法让它恢复,但保持合并主人的所有其他变化?

Bar*_*tek 46

尝试这样的事情:

git checkout HEAD -- filename
Run Code Online (Sandbox Code Playgroud)

这将使您的文件回滚一次提交.如果要进一步返回到特定提交,可以使用提交哈希或将^ N附加到HEAD关键字的末尾,例如HEAD^2.

  • @ceretullis:如果是由于相关文件中的冲突,你需要`git checkout --ours filename`. (4认同)
  • 或者如果合并尚未完成(由于冲突),只需git checkout filename. (3认同)
  • 我不知道这是否是正确的,但是单个回滚是在`HEAD ^'(或branchname而不是HEAD),并且进一步向后提交是`HEAD~2`(即HEAD~n) (3认同)