私はGITを使い始めたばかりで、すばらしいと思いますが、merge
コマンドが何をするかについて少し混乱しています。
ブランチ「A」に作業プロジェクトがあるとします。
家に帰ってこのブランチを変更し、「B」として保存します。別のプログラマーが「A」に変更を加え、「C」として保存します。
2つのブランチ「B」と「C」を一緒にマージし、「D」などの新しいブランチとして変更をコミットする方法はありますか?
または「マージ」のポイントが欠落していますか?
merge
は、2つ(またはそれ以上)のブランチをまとめるために使用されます。
ちょっとした例:
# on branch A:
# create new branch B
$ git checkout -b B
# hack hack
$ git commit -am "commit on branch B"
# create new branch C from A
$ git checkout -b C A
# hack hack
$ git commit -am "commit on branch C"
# go back to branch A
$ git checkout A
# hack hack
$ git commit -am "commit on branch A"
そのため、異なるヘッドを持つ3つの別個のブランチ(つまり、A BとC)があります。
変更をBとCからAに戻すには、Aをチェックアウトし(この例では既に実行されています)、次にmergeコマンドを使用します。
# create an octopus merge
$ git merge B C
履歴は次のようになります。
…-o-o-x-------A
|\ /|
| B---/ |
\ /
C---/
リポジトリ/コンピューターの境界を越えてマージする場合は、git pull
コマンドをご覧ください。ブランチAを持つPCから(この例では2つの新しいコミットを作成します):
# pull branch B
$ git pull ssh://Host/… B
# pull branch C
$ git pull ssh://Host/… C
SubBranchの変更をMainBranchにマージする必要がある場合
mainBranchにいるはずです
# git checkout MainBranch
次に、マージコマンドを実行します
#git merge SubBranch