Я думаю, есть ли способ, чтобы при объединении ветки с другой веткой ВСЕ измененные файлы были перечислены в моем сообщении фиксации, а не только те, которые были изменены в обеих ветках. Это дало бы мне лучшее представление о том, что было изменено в ветке, просто увидев фиксацию слияния. Есть ли способ сделать это?
Перечислите все измененные файлы в git merge commit — даже с быстрой перемоткой
comment
Я не думаю, что для быстрой перемотки вперед вы сможете это сделать.
- person R0MANARMY   schedule 06.02.2013
Ответы (3)
Я не знаю, как это сделать в сообщении коммита. Но после слияния это даст имена всех файлов, затронутых фиксацией слияния:
git log -m --name-only
Только для списка имен файлов коммита:
git log -m -1 --name-only --pretty="format:" <Merge SHA>
Есть некоторое пустое пространство из-за слияния двух родителей, но его можно легко удалить.
person
Schleis
schedule
05.02.2013
это также просто перечисляет все коммиты (конечно, включая имена файлов), но я просто хочу иметь список файлов
- person soupdiver; 06.02.2013
добавьте -1 к команде. Обновил мой ответ, чтобы показывать только имена файлов.
- person Schleis; 06.02.2013
Спасибо за это! Сегодня я нигде не могу найти
-m
или -1
(хотя они все еще работают). Эти опции были переименованы?
- person Johann; 28.10.2014
-1 в документации обозначается как -‹число›, вы можете ограничить журнал любым количеством коммитов. Хотя я могу найти документацию для
-m
, но она показана как один из примеров.
- person Schleis; 28.10.2014
-m используется в следующих случаях и является параметром diff formatting: этот флаг заставляет коммиты слияния отображать полные различия, как обычные коммиты; для каждого родителя слияния создается отдельная запись в журнале и diff. Исключением является то, что при задании параметра --first-parent отображаются только различия с первым родителем; в этом случае выходные данные представляют собой изменения, внесенные слиянием в текущую ветку.
- person d48; 07.01.2015
-m находится в разделе «Различное форматирование» файла
git help log
. К сожалению, у него нет длинного имени опции.
- person Elijah Lynn; 31.03.2017
@elijah : или
git log help
.
- person Timo; 12.12.2017
-m -1
по какой-то причине возвращает все коммиты, объединенные в текущей ветке, поэтому я использую git diff --name-only HEAD HEAD~1
из ответа @ R0MANARMY
- person vladkras; 09.07.2018
Вы также можете использовать команду diff
, чтобы просмотреть разница между любыми двумя коммитами. Если ветки еще не были объединены, вы можете указать имена ветвей и сравнить их, в противном случае вам может потребоваться найти, где они расходятся (так) и последний коммит перед тем, как они были объединены вместе.
git diff --name-status <commit> <commit>
-name-status
Показать только имена и статус измененных файлов.
person
R0MANARMY
schedule
05.02.2013
предположим, что у вас есть SHA коммита слияния, тогда git diff --name-only <SHA>^1 <SHA>
person
evgenii
schedule
22.10.2019