Мне нужно понимать изменения в файле между двумя выпусками, представленными моим текущим мастером и веткой new_branch. Обычно я бы запустил следующее, если путь / имя совпадают в обеих ветвях.
git diff new_branch - путь / файл
Что мне делать, если путь / файл в двух ветвях различаются?
Я могу отступить и создать еще один клонированный репозиторий и проверить new_branch. Затем выполните unix sdiff. Мне просто было интересно, предвидели ли авторы git diff этот сценарий и встроили ли что-нибудь для его обработки.
- Спасибо, - Майк младший.
Git не имеет настоящий понятие перемещенных / переименованных / скопированных файлов, однако у него есть эвристика, чтобы попытаться обнаружить эти случаи и затем отобразить их в удобной форме.
Тем не менее, вы можете проинструктировать git-diff
использовать эту эвристику для обнаружения переименований, передав ему -M
флаг. С этим вы можете попробовать
git diff -M new_branch -- new-path/file old-path/file
и посмотрите, работает ли это в вашем конкретном случае. Дальше, git diff -M --stat new_branch
даст вам обзор изменений, а также покажет, что переименовывает эвристика Git.