При слиянии или перемещении двух веток в git, когда файл был удален в одной, но изменен в другой, git дает конфликт. git status
показывает файл как «удаленный нами» или «удаленный ими».
Я нашел множество вопросов о том, как разрешить конфликт, в том числе:
- git - конфликт слияния при удалении локального но файл существует на удаленном компьютере
- Как исправить конфликт слияния из-за удаления файла в ветке?
Однако в большинстве ответов предполагается, что вы уже точно знаете, в чем заключается конфликт, и вам просто нужно указать git, чтобы он сохранил или удалил файл.
Как узнать, что изменилось в версии файла, который не был удален? git
просто оставляет весь файл в рабочей копии и не отмечает никаких изменений.
Например:
- в ветке
develop
, пользователь А изменяет файлfoo.x
- в ветке
feature
пользователь B выполняет рефакторинг кода, удаляет файлfoo.x
, потому что его функции теперь находятся в других файлах - пользователь B пытается объединить
develop
вfeature
и получает конфликт, помеченный какdeleted by us
- как пользователь B видит, какой пользователь A изменил, чтобы увидеть, нужны ли изменения в отредактированном коде?