Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Перечислите все измененные файлы в git merge commit - даже с быстрой перемоткой

Автор вопроса: soupdiverОтветов: 3

Я думаю, есть ли способ, чтобы при объединении ветки с другой веткой ВСЕ измененные файлы были перечислены в моем сообщении фиксации, а не только те, которые были изменены в обеих ветках. Это дало бы мне лучшее представление о том, что было изменено в ветке, просто увидев фиксацию слияния. Есть ли способ сделать это?

  • Я не думаю, что для быстрой перемотки вперед вы сможете это сделать. R0MANARMY 06.02.2013

gitmergegit-branchgit-merge

Ответы

Ответ 1 · рейтинг 79 · Schleis

Я не знаю, как это сделать в сообщении коммита. Но после слияния это даст имена всех файлов, затронутых фиксацией слияния:

git log -m --name-only

Только для списка имен файлов коммита:

git log -m -1 --name-only --pretty="format:" <Merge SHA>

Есть некоторое пустое пространство из-за слияния двух родителей, но его можно легко удалить.

Ответ 2 · рейтинг 14 · R0MANARMY

Вы также можете использовать команду diff, чтобы просмотреть разница между любыми двумя коммитами. Если ветки еще не были объединены, вы можете указать имена ветвей и сравнить их, в противном случае вам может потребоваться найти, где они расходятся (так) и последний коммит перед тем, как они были объединены вместе.

git diff --name-status <commit> <commit>

-name-status Показать только имена и статус измененных файлов.

Ответ 3 · рейтинг 2 · evgenii

предположим, что у вас есть SHA коммита слияния, тогда git diff --name-only <SHA>^1 <SHA>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы