web-dev-qa-db-ja.com

1つの変更をGitの複数のブランチにマージする

私は1つのメインブランチ(マスター)を持ち、トピックブランチで作業することに慣れています。しかし、私は現在、2つの主要なブランチ(マスターと実験的)を持つプロジェクトに取り組んでおり、トピックブランチを両方に最適にマージする方法がわかりませんか?

これは正しい方法ですか?そうでない場合、誰かが私に正しい方法を教えてくれませんか。

(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix

(master)$ git checkout bugfix
(bugfix)$ git rebase experimental
(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix

ありがとうございました。

30
user1015384

リベースを行わないでください、そしてあなたは準備ができています。 bugfixブランチを必要な各ブランチにマージするだけです

(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix

(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix

リベースを実行すると、すでにマージされたコミットと似ていますが、異なるコミットが作成されます。リベースに続いてcheckout + mergeを実行することは、基本的にバグ修正コミットを選択することと同じです。

36
knittl