Как показать файлы, которые были объединены с отсутствующим ускоренным перемещением в Git? - PullRequest
3 голосов
/ 14 июля 2010

У меня есть две ветви, и я объединяю branch1 в branch2 без быстрой перемотки вперед.

После объединения я запускаю команду 'git show', я получаю только сообщение, которое было зафиксировано(что является слиянием без быстрой перемотки вперед) и без списка файлов, которые изменились.

Как получить список файлов, измененных при слиянии?

решено:

Когда в филиале 2 после слияния я использовал следующее:

git diff HEAD~

Это вернуло правильный результат.

Ответы [ 3 ]

1 голос
/ 12 октября 2010

Когда в филиале 2 после слияния я использовал следующее:

git diff HEAD~

Это вернуло правильный результат.

1 голос
/ 14 июля 2010

Пробовали ли вы с помощью команды git whatchanged? (не проверено):

git whatchanged --oneline

или

git whatchanged --oneline ..HEAD^
git whatchanged --oneline ..HEAD^2

--oneline

Это сокращение от "--pretty=oneline --abbrev-commit", используемого вместе.

Что мне нужно, так это просмотреть все файлы, которые изменились в branch1 и были объединены в branch2.

branch2 может быть представлен здесь как HEAD^2, второй родитель HEAD.

Что касается «просто списка файлов»:

git diff --name-status ..HEAD^2

должен выдавать вам только список файлов с соответствующим статусом.

0 голосов
/ 14 июля 2010

После выполнения слияния проверьте вывод git reflog, который отслеживает, где были кончики ветвей. Первая строка должна содержать ваш коммит слияния, а вторая должна быть там, где branch2 было до слияния. Если все выглядит правильно, вы можете видеть из второго столбца этого вывода, что предыдущий коммит может называться HEAD@{1}, поэтому, чтобы увидеть, какие файлы были изменены слиянием, вы можете сделать:

git diff --stat HEAD@{1}
...