1

開発者Aはブランチ2012Aに取り組んでいます

2012Aをブランチし、ブランチ2012Bを作成します

2012Aからのすべての新しい変更が必要なので、それらを2012Bにマージして、作業を続けたいと思います。

これはワークフローとしては問題ないように見えますか?

git checkout 2012A (switch to 2012A)
git pull origin 2012A (update 2012A)
git checkout 2012B (switch to 2012B)

git merge 2012A (merge in 2012A)
git commit -m 'commiting changes from 2012A' (commit changes from 2012A in 2012B)

前もって感謝します、

4

1 に答える 1

3

動作するはずですが、もっと簡単な方法で実行できます。

ブランチから直接2012B

git fetch origin
git merge origin/2012A

のローカルブランチは必要ないことに注意してください。リモート(ここではリモート)2012Aにリポジトリがある場合は、通常、リモートブランチのスナップショットを保持します。あなたは実行することによってそれらを見ることができます:origin

git branch -a

remotes/...出力のエントリを参照してください)

このgit fetchコマンドはスナップショットをgit fetch origin更新するため、のリモートブランチのローカルイメージを更新し、そのようなイメージを現在のブランチorigingit merge origin/2012Aマージします(つまり、origin/2012Aonのパッチを適用します2012B)。


提案された記事:http: //longair.net/blog/2009/04/16/git-fetch-and-merge/

于 2012-11-30T11:53:11.877 に答える