2016-06-30 10 views
1

私は遠隔マスターとローカルマスターを持っています。私はローカルブランチをローカルマスターにマージし、ローカルマスターをテストとデプロイメントのためにリモートにプッシュします(私はテストとプロダクトのためにリモートにプッシュする必要があります)。プッシュ後に古いコミットを分岐しますか?

私はAとBの2つの機能を持っています。私はAをリモートにプッシュしており、テスト中です。私は、私は2つの質問があるBに作業を開始したい、とA.

のためにかかわらず、承認の状態のBを配備することができる:

  1. は私の地元のマスターが機能Aの防止が含まれているという事実をい私は既にフィーチャーBを展開しています。私はすでにマージしているので、前のコミットの新しいブランチでAを元に戻し、Bを押すだけです。

  2. 上記の場合、Bを終了する前にAが承認されると、AをBにマージできますか? (私はまだ地元の地方の支店を持っています)

ありがとう。

答えて

0
  1. いいえ、はい* - git checkout -b branch_B origin/masterあなたは
  2. はい新しいブランチで作業を開始させてください - git merge origin/master(仮定起源/マスターが承認された「」ブランチが含まれており、現在のブランチはBである)

*これは、ローカルマスタブランチを新しい 'B'ブランチに移動すること、または(b)ローカル環境からのリモートへのプッシュを行う必要がないことを前提としています。たとえば :

*---* - origin/master 
    |\ 
    | * - A, master, origin/A 
    \ 
     * - B 
+0

は、上記#1のために、私は正しい、前回のコミット参照する必要があります:git push origin Bの代わりgit push origin master

参考のため、ここでは新たにB支店とのgitリポジトリはありますか? (そうしないと、支店に機能Aがありますか?いいえ) –

+0

あなたは正しいですか?チェックアウトのために私は 'origin/master'と言っていましたが、それはまだそれがルートコミットであると仮定していたからです。もしそれがハッシュ値であることを知りたいのであれば: 'git checkout -b new_branch_b ' または 'git checkout '(ルートコミットの) 'git checkout -b new_branch_b' –

関連する問題