2016-09-15 1 views
0

私は、masterブランチだけで寿命を伸ばしたGitHubレポを持っていて、それにたくさんのコードを送りました。その後私は自分のマシン上にブランチを(git checkout -b development経由で)ローカルに作成して(git push origin development経由で)プッシュしましたが、それを変更するだけではありません(つまり、masterdevelopmentは同じになりました)。git/GitHub上で複数のマスターブランチをマージする

は、別の開発者は、(最新の状態にあった)development枝のオフfizzbuzz機能ブランチを作成するを想定し、代わりにmasterのオフにそれを作成しました。彼女は今、彼女のfizzbuzzブランチをGitHubにプッシュしました。

最終的にfizzbuzzdevelopmentにマージして、CIビルドとDEV展開を開始します。その後、developmentmasterに結合します。

しかし、fizzbuzzmasterの代わりにdevelopmentの代わりに作成されたため、これが可能であるとは思われません。それは...ですか?そうでなければ、解決策は何ですか? fizzbuzzdevelopmentのブランチになるように "rebase"する方法はありますか(もしそうなら、コマンドとは何ですか?)、あるいは何か別の方法でしょうか?

答えて

1

あなたはご自分の質問に非常に近い答えを出しました。 git rebase development fizzbuzzfizzbuzzdevelopmentにリベースします。 git push origin fizzbuzz --forceの場合、GitHubはベースブランチを更新します。

+0

ありがとうございます@kfb(+1) - 私はそれが 'rebase'を含むと思ったが、私はそれを使用する必要はなかった!私が理解していることを確認するために気をつけなければならないクイックフォローアップの質問:「*は、開発に* fizzbuzzをリベースします」と言うとき、それは彼女が「開発」を分岐したようになることを意味しますか?最初は?そして、これはブランチが同一/きれいである場合にのみ機能しますか?意味するところは、 '開発 'に新しいコードがあり、そこになかったのはどういう意味ですか?再度、感謝します! – smeeb

+1

はい、 'fizzbuzz'は' development'から常に分岐しているようになります。あなたの2番目の質問については、答えは "それは依存する"です。 [このリンク](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)では、一般的なリベースと[このリンク](https://help.github。 com/articles/resolving-merge-conflicts-a-git-rebase /)では、競合が発生した場合に何が起こるかについて説明しています。 – kfb

関連する問題