4

master#gitで残りのブランチが本当に必要ないことを確認した後、マージされた私の(個人プロジェクト)リポジトリからいくつかのブランチを削除することにしました。

しかし、結果として私のリポジトリの履歴のgitkの視覚化は完全に台無しにされました。

基本的にこのようなもの:

http://i48.tinypic.com/90r512.png

コミットからのこれらのブランチはどこからともなく現れ、最終的には他のコミットに戻ります。マージはすべてのポイントで発生したわけではなく、追加のブランチは約5つしかありませんでした。

これは正常ですか?これに対する修正はありますか?

4

3 に答える 3

4

ディスプレイをリロードしてみましたか?gitkが少し混乱することがありますが、終了して再起動するか、再読み込み([ファイル] > [再読み込み] 、またはCtrl- F5)すると、よりわかりやすい方法で履歴を再描画できます。

編集:リポジトリが表示されたので、何が起こっているかを確認できます。

いくつかのサイドブランチにも取り組んでいる間、マスターでいくつかの開発を行ったようです。これを行っている間に、masterそれらのサイドブランチに数回マージしました。gitkコミットをリストに表示するため、コミットの線形順序が必要です。分岐履歴がある場合は常に、その履歴を入れることができるいくつかの可能な線形順序があります。たとえば、次の構造です。

       /-- c -- e --\
a -- b               g -- h
       \-- d -- f --/

次のいずれかの方法で注文できます。

  1. a、b、c、e、d、f、g、h
  2. a、b、c、d、e、f、g、h
  3. a、b、c、d、f、e、g、h
  4. a、b、d、c、e、f、g、h
  5. a、b、d、c、f、e、g、h
  6. a、b、d、f、c、e、g、h

デフォルトでgitkは、トポロジカル順序を使用します。これにより、各ブランチのコミットがグループ化されます。これにより、ブランチの両側のコミットがいつ発生したかに基づいて散在するのではなく、各ブランチのコミットの論理的な進行を確認できます。したがって、たとえば、(1)の順序でそれらを表示する場合があります。

a -- b -- c -- e ------------ g -- h
       \----------- d -- f --/

この順序付けは、線形ログを見ているだけの場合は正常に機能しgitk、ブランチ間をあまり頻繁にマージしない場合(上記の例のように)でも正常に機能します。しかしmaster、トピックブランチに頻繁にマージして、自分が行ったことを実行すると、これはあなたが見ているような混乱を引き起こします。コミットmasterが最初に表示され、次にサイドブランチのコミットが表示されますが、サイドブランチに頻繁にマージmasterされると、長い接続が積み重なって履歴が混乱します。(Gitは実際にはどのコミットがどのブランチからのものであるかを保存しませんが、それらをソートする方法では、各ブランチからのコミットを一緒に保持することになります)。

私が知っているこれに対処する最も簡単な方法は、コミットをgitk時系列で表示することです。[ビュー] > [ビューの編集... ]を開き、[日付で厳密に並べ替える]オプションをオンにします。これで、履歴がより適切に表示されるはずです。このビューを直接起動するには、--date-orderオプションをに渡すことができますgitk

于 2010-02-02T15:32:02.417 に答える
1

あなたの履歴がどのように見えるかはわかりませんが、覚えておくべきことがあります。マージされたブランチを削除すると、名前(参照)のみが削除され、コミットや履歴の一部は削除されません。

したがって、履歴を視覚化するツールは、過去に発生したすべての分岐を引き続き表示します。

于 2010-03-12T03:05:14.980 に答える
0

ブランチは、(ツリーのように)ルートから異なるヘッドを指している場合にのみ使用され、メインブランチに戻るn行がある場合には使用されません(マージされた牧場は、マージされたブランチと実際には異なりません)。gitk --allリポジトリにあるすべてのブランチを確認してください(各ブランチの先頭を指すカラーラベルとして)。そして、gitkが表示するマージポイントを注意深く確認してください。それらに2つの親がある場合、それらは実際のマージです。git log --graphgitkの問題ではないことを確認するのに役立ちます。

于 2010-02-04T18:54:25.650 に答える