Получить список измененных файлов после git merge/git merge tool
У меня есть мастер, branch1 и branch2.
Я использовал 'git merge', затем 'git mergetool', чтобы объединить дельты (то есть изменения между master и branch2) в branch1.
Теперь я хотел бы идентифицировать все измененные файлы в Branch1 в результате вышеуказанного слияния и скопировать все эти измененные файлы в отдельную папку для отправки кому-либо.
Как правильно это сделать?
Спасибо! p/s: мои извинения, если это слишком тривиальный вопрос, я новичок в GIT
1 ответ
Ты можешь попробовать:
git diff --name-only branch1^ branch1
# or :
git diff --name-status branch1^ branch1
Объясняя:
В общем,
git diff [commit1] [commit2]
будет работать с любыми двумя коммитами:git diff branch1 master git diff tag/v1.0 branch2 git diff eacf32bb8 branch1 # etc ...
С
--name-only
или же--name-status
вариант,git diff
будет отображаться только список измененных файлов между двумя коммитами (с--name-status
, добавлю письмоA, M or D
перед именем файла, чтобы указать, было ли этоA
dded,M
одифицированный илиD
eleted)При работе с коммитом слияния у него есть два родителя:
...*--*--*--*--A---M <- branch1 \ / *--*--*--B
на рисунке выше,
A
является первым родителемM
, а такжеB
его второй родитель.branch1^
назначает вA
(первый родительbranch1
),branch1^2
будет обозначатьB
(второй родительbranch1
).