Git ブランチをマスターに安全にマージするにはどうすればいいですか? 質問する

Git ブランチをマスターに安全にマージするにはどうすればいいですか? 質問する

から新しいブランチmasterが作成され、これを と呼びますtest

masterにコミットするか、他のブランチを作成して、後で にマージする開発者が数人いますmaster

での作業に数日かかり、内のコミットをtest継続的に更新したいとしますtestmaster

git pull origin master私はからやりますtest

質問 1:これは正しいアプローチでしょうか? ちなみに、他の開発者も私が作業したのと同じファイルで簡単に作業できたはずです。


での作業はtest完了し、 にマージする準備が整いましたmaster。考えられる方法は 2 つあります。

答え:

git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test 

バ:

git checkout test
git pull origin master
git checkout master
git merge test

私が使用していない--rebaseのは、私の理解では、リベースは変更を取得しmasterてその上に自分の変更を積み重ねるため、他の人が行った変更を上書きする可能性があるためです。

質問 2:これら 2 つの方法のうちどちらが正しいでしょうか? 違いは何ですか?

このすべての目標は、testブランチで起こっていることを常に最新の状態に保ちmaster、後でそれらをマージしてmaster、タイムラインを可能な限り直線的に保つことです。

ベストアンサー1

これをどうするか

git checkout master
git pull origin master
git merge test
git push origin master

リモート ブランチからのローカル ブランチがある場合、このブランチ以外のブランチをリモートとマージするのは気が進みません。また、プッシュしたい内容に満足するまで変更をプッシュしませんし、自分とローカル リポジトリのみに適用されるものは一切プッシュしません。あなたの説明では、それはあなただけに適用されているようですtestね。ですから、公開する理由はありません。

gitは常にあなたや他の人の変更を尊重しようとします--rebase。私はそれを適切に説明できないと思うので、Git ブック - リベースまたはgit-ready: リベースの紹介少し説明をします。これは非常にクールな機能です

おすすめ記事