web-dev-qa-db-ja.com

あるローカルブランチを別のローカルブランチにマージする

私はマスターから分岐した複数のブランチを持っています(それぞれ別々のサブディレクトリにあります)。

  • Branch1:新しい開発、まだ完全に終わっていない
  • Branch2:問題に対する修正プログラム、まだテスト中
  • Branch3:私は元に戻らないブランチの周りの混乱

修正プログラムのテストが終了する前に、Branch1でコードを既に利用できるようにしたいので、修正プログラムを配置して開発を続けることができます。
(しかし、私がgitを使った経験はそれほど多くないので、私が最初に3番目のブランチでマージを試し始めました。

私の3番目のブランチでは、最初に次のことを試しました。

git merge feature/Branch1

しかし、これは以下のエラーを出しました:

fatal: 'feature/Branch1' does not point to a commit

次にBranch1でcommit -aを実行してもう一度試しましたが、同じエラーが表示され続けます。

何がおかしいのですか?この場合、Branch1とBranch3のコードをマージするにはどうすればよいですか。

89
Nemelis

まず、あなたのBranch3にチェックアウトします。

git checkout Branch3

次にBranch1をマージします。

git merge Branch1

そしてBranch2のBranch1の更新されたコミットが欲しいなら、あなたはおそらく git rebase を探しています。

git checkout Branch2
git rebase Branch1

これでBranch2がBranch1の最新アップデートで更新されます。

133
gabra