Git объединяет разные имена файлов - PullRequest
3 голосов
/ 03 августа 2010

Вот мой сценарий:

Я работаю над исправлением ошибок в file1 в локальной ветке.Мой коллега находится в своем местном филиале, сливая file1 в file2 в рефакторе.Он заканчивает свою работу и сливается с мастером и толкает.Теперь file1 больше не существует в заголовке.

Когда я сделаю тягу и попытаюсь объединить мои file1 изменения обратно в мастер, что произойдет?Git достаточно умен, чтобы учесть это, или мне придется объединить мои изменения вручную?

Ответы [ 2 ]

4 голосов
/ 03 августа 2010

Во-первых, вы не объединяете файлы , вы объединяете ревизии (или, скорее, линии разработки).

Во-вторых, git использует эвристику на основе подобия для обнаружения переименования , поэтому, если file2 достаточно похоже на file1, то git должен автоматически объединить ваши и его изменения в file2.Если нет, вы получите «КОНФЛИКТ (изменить / удалить)» (я думаю), что вам придется разрешить вручную.

1 голос
/ 03 августа 2010

Это зависит от того, был ли git mv file1 file2, git распознал это как переименование?если это произойдет, то он может распознать это ... в противном случае он, вероятно, просто попытается создать новый файл1.возможно, вам придется выполнить какое-либо ручное вмешательство или патч после слияния.Кроме того, в худшем случае с git TIAS вы откатываете слияние перед нажатием.

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