2015-06-24 5 views
0

У меня есть важные файлы, которые были удалены при разрешении конфликтов git и выполнении git-слияний. Когда я говорю об удалении, я имею в виду, что они все еще существуют в более раннем фиксации, но их изменения были перезаписаны в последующих коммитах. На рисунке ниже показана визуализация моего git-репо, предоставленного SourceTree.Git удалил некоторые файлы при слиянии

A visualization of my git branches

файлы, которые я хочу, чтобы были удалены на мерзавца коммит обведено красным. Коммиты, содержащие удаленные файлы, находятся в средней ветви PINK-цвета (между синими и зелеными кругами), а фиксация, обведенная в ЗЕЛЕНОМ, - это когда ветвь, очерченная розовым, сначала слилась с веткой в ​​крайнем левом углу.

Вот вопросы, которые я хочу знать ответ на:

  1. Почему эти файлы, как добавили в PINK коммитов удаляются в коммит обведено красным цветом?

  2. Как я могу получить эти файлы и изменения обратно, начиная с фиксации, расположенной под маркером, связанным с RED?

ответ

1
  1. Вот мое лучшее предположение относительно того, что случилось. В слиянии зеленого круга возник конфликт, который предотвращал автоматическое слияние и фиксацию, что обычно происходит с тягой. Разработчик заметил некоторые локальные изменения в файлах, которые он сам не изменил, поэтому он отбросил эти изменения (те изменения, которые были в конечном счете потеряны). В красном слиянии git видит, что эти изменения были удалены в зеленом объединении и, таким образом, распространяет эти удаления на фиксацию слияния.

  2. Это сложная часть; есть несколько способов, которыми вы могли бы это сделать, но все они в конечном итоге повлекут за собой вручную вишню, собирающую некоторые коммиты. Я не вижу, сколько коммитов находится в каждой ветке, как выше, так и ниже вашего снимка экрана, поэтому я просто предполагаю, что вы повторно выполните розовые фиксации. Для каждой розовой фиксации ABC сделайте git cherry-pick ABC. Это приведет к повторному воспроизведению этих коммитов в филиале, возвращая ваши изменения.

+0

Вихревой выбор, похоже, делает трюк. Спасибо. – idungotnosn

Смежные вопросы