Gitは2つのローカルブランチをマージします


145

ブランチマスター、ブランチA、ブランチBがあります。ブランチAで作業しているので、ブランチAをブランチBにマージし、ブランチAで作業を進める必要があります。すべてのファイルはブランチAとブランチBでコミットされます。

それを実装する最も速い方法は何ですか?

回答:


246

あなたの質問が理解できたら、に統合branchBしたいと思いますbranchA。そのためには、まずbranchA以下のようにチェックアウトします。

git checkout branchA

次に、以下のコマンドを実行してにマージbranchBbranchAます。

git merge branchB

3
ブランチAとBがローカルリポジトリに存在することを確認する必要があります。そうして初めて、マージを実行できます。
Santhosh 2017

8
質問は明白です:I have branch Master, branch A and branch B.
LeeGee

166

ここに明確な画像があります:

ブランチAとブランチBがあると仮定します

ブランチBをブランチAにマージしたい

on branch-B -> A: switch to branch-A

on branch-A: git merge branch-B

32
これはまったく明確ではありません。ターミナル入力をポストするだけで、はるかに理解しやすくなります
lopu

9
これは明確な答えではありません....「ブランチBを更新する」とはどういう意味ですか...これを行う方法はたくさんありますが、どれを使用しますか?...代わりにスイッチGitチェックアウトブランチ-Aのは、より理解しやすいです
ErdinçÇorbacı

2

アビラマンの答えは正解でした。ただし、初心者がgitを使用する場合、リポジトリのプルを忘れることがあります。あなたがbranchBからbranchAへのマージをしたいときはいつでも。最初のチェックアウトとBranchBからのプル(ブランチがリモートブランチで更新されていることを確認してください)

git checkout branchB
git pull

これで、ローカルのブランチBがリモートのブランチBで更新されました。これで、ブランチAにチェックアウトできます。

git checkout branchA

これでb​​ranchAになり、次のコマンドを使用してbranchBとマージできます

git merge branchB

0

あなたまたは別の開発者がbranchBでさらに作業しない場合は、頭痛のない元に戻すためにコミットを維持することをお勧めします。そう ;

git checkout branchA
git pull --rebase branchB

BranchBを使用しないことが重要です。

多くのための ; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


1
タイトルでは、質問はローカルリポジトリに関連していますpull。これは機能しません。
LeeGee

2
あなたは正しいです、おそらくローカルブランチが最後にプッシュされるので、私はこの知識を追加することはプラスになると思いました。しかし、私はあなたが指摘したポイントを逃しました、私はこれを答えとしてではなくコメントとして追加した方がいいです。警告してくれてありがとう。
ErdinçÇorbacı

0

branchBで行う$git checkout branchA分岐Aにスイッチします

ブランチ上で $git merge branchB

それだけで十分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.