Есть ли способ увидеть все измененные файлы на ветке в Git?
Я apolagise, если это не очень ясно, но в Git, есть ли способ увидеть все измененные файлы в ветке, только по имени.
Насколько я знаю, я могу использовать журнал git для просмотра файлов, которые были изменены в одном коммите, но я хочу видеть все файлы, которые были изменены с момента создания ветки, за несколько коммитов.
Существует git diff, но также перечислены измененные файлы в ветке, по сравнению с которой я не хочу видеть. Мне нужна команда, которая говорит: "Покажите мне имена файлов для всех измененных файлов в этой ветке".
Большое спасибо
Ответы
Ответ 1
Предположим, что вы находитесь на ветке foo
, и вас интересуют, какие файлы изменились с момента, когда он отклонился от master
, вы можете просто сделать:
git diff --name-only master...
(Обратите внимание на три точки.) Если вы не foo
, вы можете использовать полную форму:
git diff --name-only master...foo
Я сделал некоторые графики, которые объясняют двухточечные и трехточечные обозначения, а их различия между их значением в git rev-list
и git log
- вы можете найти их в this ответить.
Ответ 2
Не знаю, что есть что-то, что делает именно то, что вы хотите, основываясь только на вашей текущей ветке, но если вы знаете идентификатор фиксации, являющийся родителем вашего ветки, вы можете сделать:
git diff --name-only <commit id of branch point>..HEAD
Ответ 3
Предполагая, что вы проверили ветку, над которой работаете, и хотите сравнить ее с мастером:
git diff --name-only master
Ответ 4
Я использую эту команду, чтобы узнать список N файлов, измененных между двумя версиями, здесь N равно 50
git log --pretty=format: --name-only <SourceBranch>...<TargetBranch> | sort | uniq -c | sort -rg | head -50