gitk
andを使用してコミット履歴を調べており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
はありませんが、実際にはそうです。なぜ、どのようにしてそこにたどり着いたのか、誰がそこに置いたのか知りたいです。