3

私は Git に非常に慣れていませんが、Git が提供する軽量の分岐/マージに非常に感銘を受けています。

私のリポジトリには 3 つのブランチがあります。

master
1.1.0
1.0.x

ブランチで簡単な修正を行いましたが、1.0.xこれらの変更をすぐにマージして1.1.0? それとも、1.1.0ブランチがマイナー バージョンとしてリリースされる準備が整うまで待ってから、ホットフィックスをマージすることをお勧めしますか?

また、この画像では:

git-scm の分岐

私はそのふりをしてiss53 = 1.0.xおりmaster = 1.1.0、この例では. ホットフィックス ブランチからの変更がフィーチャー ブランチ1.0.xにマージされたら1.1.0、ブランチで作業を続けることができ1.0.xますか?

ブランチで作業中に変更をコミットすると、上記のマージ後に、単一の親を持つ1.0.x仮想コミットから新しい水平リンク (視覚的に描写するため) が作成されるだけですか、それとも2 つの親がありますか?C7C5C5C6

git-book ( Git - Basic Branching and Merging ) のこのセクションでは、ブランチが終了したらブランチを削除することについても言及していますが、残念ながらその後のグラフの外観は示されていません。確かにコミットはまだそこにあります - ラベルは単に削除されていますか? (iss53上記の例では。) そして、そのブランチが削除された後、Issue 53 が完全に修正されていないことがわかった場合、別のブランチを作成して から作業を続けることができますか、それとも のように別の名前を付ける必要がありますか?C5iss53iss53_2

4

1 に答える 1

1

変更が適切であり、そのブランチに移動する必要があると確信したらすぐにマージします。早めにマージすると、手作業なしで成功する可能性が高くなります:)

ブランチを削除しても、ツリーはまったく同じままで、ブランチのラベル​​だけが消えます。どのラベルからも到達できなくなったコミットがある場合、それらは最終的にガベージ コレクションによって削除される可能性がありますが、それらは数週間保持されます。すべてのコミットはまだいくつかのブランチで到達可能であるため、ここでは当てはまりません。

簡単にブランチを再度作成できます。「git checkout -b iss53 xxxxxx」を実行するだけです。xxxxx は、ベースにしたいコミットのコミット 16 進コードです。git reflog は、最近のすべての履歴を表示するため、必要なコミットを見つけるのに役立ちます。

于 2013-03-06T13:19:30.420 に答える