Intereting Posts
git post commit hook с работой с несколькими конфигурациями jenkins Как развернуть Azure с выпуском GitHub не в хранилище? Исходная ветка изменения SourceTree, потерять незавершенную работу? Сделать функцию переключения длинной живой функции с короткой ветвящейся живой стратегией Как запустить команду на выходе git log за фиксацию с помощью bash Как проверить удаленную ветку в Git? Git: нажмите только подкаталог удаленной ветви Как сквош после проверки нескольких ветвей между ними? Как проверить дату обновления удаленного файла в git Что именно делает «git fetch». Выполняет ли последующую выборку предыдущую выборку? Линии Git удаляются без уведомления Как увидеть текущую ветвь SVN в WebStorm? oh моя zsh геометрия темы git errors Как получить места репо Github всех драгоценных камней в Gemfiles? Значение Git добавляет предупреждающее сообщение «У файла будут свои исходные окончания строки в вашем рабочем каталоге»?

Проверьте, были ли другие файлы изменены в серии фиксаций в git

Предположим, у меня есть файл mocky.cpp , я хотел бы перечислить коммиты, которые изменили файл, а также перечислить другие файлы, которые были затронуты этими коммитами. Поэтому я стараюсь:

 git log --name-only -- mocky.cpp 

Я получаю список коммитов, это приятно, странно, однако, все коммиты не изменяют файл, кроме mocky.cpp . Я проверяю один из них, скажем, e013aac, w / git show e013aac и я узнаю, что он также меняет testy.hpp . Более того, я обнаружил, что git show e013aac -- mocky.cpp выводит только diff для mocky.cpp но не для testy.cpp
В любом случае, это наиболее противоречиво для меня, как я мог добиться того, чего хотел?

Пытаться:

 git log --format=%H -- mocky.cpp | xargs git show --stat 

Или измените его для ваших потребностей, таких как:

 git log --format=%H -- mocky.cpp | xargs git show --name-only 

Я не знаю, лучше ли это, но приведенная ниже команда может делать то, что вы намереваетесь:

 for SHA in $(git log --format='%H' your_file.cpp) ; do git diff-tree --name-only -r $SHA ; done