Como vejo o caminho de um commit no histórico do git, ou "como ele chegou no ramo atual"?
Estou procurando no histórico de consolidação usandogitk
egit log
e estou tentando ver como um commit específico chegou em um determinado ramo. Eu posso ver os commits na história, então eu sei que eles estão lá.
O que eu quero entender é como eles foram mesclados (eles deveriam permanecer em seu próprio ramo). Este é um projeto muito grande e existem centenas de confirmações entre a confirmação em questão e o estado atual da ramificação, portanto não posso decifrar claramente através do DAG limitado emgitk
, e a confirmação é mascarada em outras ramificações, mescla e confirma mensagens.
Para fazer isso, eu tenho tentado:
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
E não estou entendendo os resultados. Eu só quero ver itens que incluem o commit específico em questão, para que eu veja claramente como ele entrou no ramo em questão. Como eu faço isso?
ExemploO que estou procurando, emgitk
de preferência masgit log
seria suficiente:
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
Mais InformaçõesAinda não estou vendo respostas, por isso vou começar uma recompensa se não houver nenhuma, mas talvez não esteja explicando a pergunta corretamente (estou aberto a sugestões para melhorar e esclarecer).
O driver para isso é que eu posso ver o commit em si e me disseram que ele não deveria estar em um determinado ramo. Aqui está o que estou vendo:
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
Estou sendo informado confirma emtest_dec14
não deveria ter feito issotest_jan15
a menos que tenham sido liberados e, como tal, o {sha1hashIDstring} NÃO DEVE ESTAR emtest_jan15
, ainda é. Quero saber por que, como chegou lá e quem colocou lá.