3

マージ VS リベース、何をいつ使用するかに関する他のいくつかの質問を読みましたが、通常の GIT ユーザーにはまだいくつか質問があります。まず、良い GIT プラクティスであると私が理解していることを投稿させてください。

  1. 既存のブランチ A から新しいブランチ B を作成する
  2. ブランチ B に変更を追加/コミットする
  3. ブランチ A からのリベース更新
  4. ブランチ B からの変更をブランチ A にマージします」

私がこれまでに理解していることから、上記のワークフローは、階層分岐モデル (つまり、A = マスター ブランチ、B = 新しい機能に取り組むための実験的ブランチ) を使用する場合に最適に機能します。要するに、ツリーをリベースし、マスターにマージして戻すのは良いことです。私はこれを考えるのが正しいですか?

ここで、A (マスター ブランチ) に変更をコミット/マージしている可能性のある他の開発者と作業している場合、ブランチ B での作業が競合しないように、手順 2 と 3 を何度でも繰り返すことが最善であると思います。他のユーザーがブランチ A にコミットしているものと競合します。競合がある場合、ブランチ 2 でリベースを使用するとコミットが再適用され、ブランチ A にマージする前にこれらの競合を解決できます。私の理解は正しいですか?

最後に、私の主な質問は次のとおりです。他の開発者と一緒に作業しておらず、ブランチ B で新しい機能を完成させるまでブランチ A に触れていない場合、リベース (ステップ 3) をスキップしてマージすることはできますか?ブランチ B をマスター ブランチ A に? 最初にリベースを実行しても問題はないと思いますが、ブランチ B を作成してからブランチ A に触れていないことがわかっている場合は不要です。私の理解では正しいですか?

PS。アドバイスをいただけると助かります。よろしくお願いします。私は GIT を初めて使用し、GIT を使用する前に SCM システムを使用したことがありません。

ありがとう、ジェシー・レイト http://www.aurorafxstudios.com/

4

2 に答える 2

1

いいえ、リベースを使いすぎるのは得策ではありません。私はそのように始めましたが、マージとリセット以外は何もしていません。私のワークフローを見てください。nvie のに基づいています。

要するに、あなたは自分の仕事を整理したいのです。ブランチ A をブランチ B のベースにすることで、それらが結び付けられます。A の何かが悪い場合、これは悪いことになる可能性があります。それを「元に戻す」のは簡単ではないかもしれません。

于 2012-06-01T19:47:11.580 に答える
1

あなたの理解は正しいです。A に何も触れていない場合、リベースはノーオペレーションになります。A が変更されないことの良い点は、競合がないことを知っていることです!

于 2012-06-01T19:55:10.667 に答える