Как мне увидеть путь коммита в истории git или «как он попал в текущую ветку»?
Я смотрю в истории коммитов, используяgitk
а такжеgit log
и я пытаюсь увидеть, как конкретный коммит поступил в определенную ветку. Я вижу коммиты в истории, поэтому я знаю, что они есть.
Что я хочу понять, так это то, как они слились (они должны были остаться в своей собственной ветке). Это очень большой проект, и существуют сотни коммитов между коммитом и текущим состоянием ветки, поэтому я не могу четко расшифровать ограниченный DAG вgitk
и фиксация маскируется в других ветках, объединяется и фиксирует сообщения.
Для этого я пытался:
gitk {sha1hashIDstring}..branch_name
gitk {sha1hashIDstring}..branch_name --ancestry-path
git log {sha1hashIDstring}..branch_name --reverse
git log {sha1hashIDstring}..branch_name --merges --reverse
git log {sha1hashIDstring}..branch_name --ancestry-path --reverse
git log {sha1hashIDstring}..branch_name --ancestry-path --merges --reverse
И я не понимаю результатов. Я ТОЛЬКО хочу видеть элементы, которые включают конкретный коммит, о котором идет речь, так что я ясно вижу, как он попал в ветку. Как мне это сделать?
примерЧто я ищу, вgitk
желательно ноgit log
будет достаточно:
Message Author Date #commit that merged branch z into current branch
Message Author Date #commit that merged branch y into branch z
Message Author Date #commit that merged branch x into branch y
Message Author Date #commit that merged {sha1hashIDstring} commit/branch a into branch x
Message Orig_Author Date #{sha1hashIDstring} original commit, on branch a
Дополнительная информацияЯ пока не вижу ответов, поэтому начну вознаграждение, если никто не придет, но, возможно, я не правильно объясняю вопрос (я открыт для предложений по улучшению и уточнению).
Драйвером для этого является то, что я вижу сам коммит, и мне говорят, что он не должен быть в определенной ветке. Вот что я вижу:
Message Orig_Author Date #{sha1hashIDstring} commit
Message Orig_Author Date #Merged into branch test_dec14 (includes original commit)
...
Message Author Date # unrelated commits
Message Author Date # more unrelated commits
# Stuff happened here ??? everything I do gives me hundreds of things here
# Not all of them related to the {sha1hashIDstring} commit
# No idea how to see only the ones that are
...
Message Author Date # final commit on test_jan15 branch
Мне говорят, что совершает вtest_dec14
не должен был сделать этоtest_jan15
если они не были освобождены, и как таковой коммит {sha1hashIDstring} НЕ ДОЛЖЕН БЫТЬ вtest_jan15
И все же это так. Я хочу знать, почему, как он туда попал и кто его туда поместил.