Восстановить файл, удаленный с помощью git mergetool - PullRequest
0 голосов
/ 28 июня 2018

После удаления некоторых файлов (в OSX) у меня возникли конфликты слияния, и я запустил:

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 голосов
/ 28 июня 2018

Да: после завершения git mergetool (или в другом окне) выполните:

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

Первая команда извлекает версию HEAD файла в рабочее дерево, а вторая сообщает Git, что это правильное разрешение (по сравнению с тем, что вы уже сказали Git через git mergetool: что правильным решением было отбрасывать файл).

Вы также можете или вместо этого использовать:

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

У последнего есть преимущество, заключающееся в том, что он разрешает все элементы одной командой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...