В Git можно иметь, например, ветвь темы, которая содержит одно или несколько коммитов, устаревших при создании фиксации. Через некоторое время эти коммиты могут быть добавлены в другую ветку, как правило, путем слияния или переадресации.Git история фиксации "время добавлено в ветвь"
Обычно git log
покажет список поручений, упорядоченных по дате & раз, когда была создана фиксация. Возможно ли просмотреть этот список на основе даты & раз фиксация была добавлена в текущую ветку? В частности, я хочу написать сценарий, который вернет мне список коммитов, добавленных в ветвь на прошлой неделе, независимо от того, когда была создана фиксация.
Простой пример:
Пусть фиксации создается в филиале topic
22 июля. Через несколько дней, 25 июля, ветвь topic
объединяется в master
. Если я запускаю мой гипотетический list-commits
сценарий, прося все фиксации, которые были добавлены или после 25-го июля я бы хочу вышеупомянутые совершить, чтобы показать, так как он был сливался 25 июля, хотя это было созданный 22 июля.
Еще одно замечание состоит в том, что в моем типичном рабочем потоке Git я использую только перемотки вперед, поэтому, когда я объединяю одну ветвь в другую, генерирование слияния не генерируется. Мне нужен способ получить эту информацию, не полагаясь на фиксацию слияния.
Это будет работать в теории, но создание дополнительных коммитов только для реализации сценария «commit digest» кажется ... грязным. – CmdrMoozy
@CmdrMoozy: Хмммм ... Будет ли git reflog отвечать вашим потребностям? –
Я думаю, что 'git reflog' действительно содержит правильную информацию, но это не в особенно удобном для использования формате. Во-первых, когда я 'git rebase' разделяет тему на новые коммиты на master, все коммиты в моей ветке темы перечислены в reflog, когда они воспроизводятся поверх новой базы. Конечно, это можно было бы проанализировать программно, но это может принести определенные усилия. Есть ли способ сделать отображение 'git reflog' только FIRST time HEAD, указывающее на уникальную фиксацию? Кроме того, для слияния он, похоже, не перечисляет коммиты по отдельности. Есть ли способ заставить его сделать это ala rebases? – CmdrMoozy