由于重命名,Git revert会创建“由我们删除”的冲突

时间:2012-07-18 22:57:10

标签: git merge-conflict-resolution git-revert

我正在尝试恢复一个修改了一个已经重命名的文件的提交。

修改后的文件曾被称为bin/internal/call_parser.rb,目前称为lib/call_parser.rb,我在尝试恢复后仍处于我的状态

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 16 commits.
#
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   other/unrelated/file
#
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   deleted by us:      bin/internal/call_parser.rb
#

据我所知,当前版本的lib / call_parser.rb和文件bin / internal / call_parser.br的当时版本应该足够相似,以至于git可以检测共享内容(我听说过) git适用于文件内容,而不适用于文件名)。如何让git更加努力地检测重命名,从而恢复到lib / call_parser.rb中的内容?

1 个答案:

答案 0 :(得分:2)

git mv lib/call_parser.rb bin/internal/call_parser.rb
# Do the revert
git mv bin/internal/call_parser.rb lib/call_parser.rb

可能是hacky,但是Worked For Me(TM)。