恢复使用git mergetool删除的文件

时间:2018-06-28 01:00:06

标签: git

删除一些文件(在OSX上)并运行后,我发生了git merge冲突:

git mergetool

在经历了大多数冲突之后,我不小心删除了我打算保留的本地文件:

Deleted merge conflict for 'app/xxxapp/xxxapp/AppDelegate.swift':
  {local}: created file
  {remote}: deleted
Use (c)reated or (d)eleted file, or (a)bort? d

有什么方法可以恢复文件?

1 个答案:

答案 0 :(得分:1)

是:git mergetool完成之后(或在另一个窗口中),运行:

git checkout --ours app/xxxapp/xxxapp/AppDelegate.swift
git add app/xxxapp/xxxapp/AppDelegate.swift

第一个命令将文件的HEAD版本提取到工作树中,第二个命令告诉Git这是正确的分辨率(与您通过git mergetool告诉Git的内容:正确的分辨率是:丢弃文件)。

您也可以或改为使用:

git checkout HEAD app/xxxapp/xxxapp/AppDelegate.swift

后者的优点是可以在一个命令中标记所有已解决的项目。