В одной ветви в одной ветви A файл изменен, и изменение зафиксировано. Теперь в другой ветке B тот же файл отредактирован и переименован.
Когда слияние B с A git правильно распознает конфликт ( CONFLICT (удалить / изменить) ) и оба файла находятся в рабочем каталоге.
Если я хочу, чтобы оба изменения были в одном файле, как мне лучше всего это сделать?
Существует git merge-file , который - если я прав - ожидает обоих файлов и общего предка. Но как дать последний? Как я могу сказать «использовать $ path из $ commit» или что-то в этом роде?
Пример:
mkdir git-rename-repo
cd git-rename-repo
git init
echo "First line" > afile
git add .
git commit -m "First commit in master"
git checkout -b mybranch
echo "Second line in mybranch" >> afile
git mv afile bfile
git commit -a -m "change and rename in mybranch"
git checkout master
echo "Changed first line in master" > afile
git commit -a -m "changed afile"
git merge mybranch
Теперь я хочу файл с именем 'bfile' с обоими изменениями:
Changed first line in master
Second line in mybranch
Спасибо