1. ホーム
  2. git

[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?

2022-03-18 09:54:23

質問

からの新しいブランチ master が作成されるので、それを test .

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

に取り組むとします。 test が数日かかるので、継続的に test 内のコミットで更新されます。 master .

私なら git pull origin master から test .

質問1: このやり方は正しいのでしょうか? 他の開発者は、私が作業したのと同じファイルを簡単に作業することができたはずです。


私の作業内容 test にマージする準備が整いました。 master . 以下は、私が思いつく2つの方法です。

A:

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

B:

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

を使用していません。 --rebase なぜなら、私の理解では、rebase は変更点を master の上に私のものを積み重ねるので、他の人が行った変更を上書きする可能性があります。

質問2. この2つの方法のうち、どちらが正しいのでしょうか? その違いは何でしょうか?

このすべてにおいての目標は、私の test ブランチを更新し master にマージし、後で master できるだけ直線的なタイムラインを保てるように。

解決方法は?

私ならこうする

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

リモートのブランチからローカルのブランチを持っている場合、このブランチ以外のブランチをリモートにマージするのは気が進みません。また、プッシュしたい内容に納得がいくまでは、自分の変更をプッシュしませんし、自分と自分のローカルリポジトリだけのためにプッシュするようなこともしません。あなたの説明では、以下のように思われます。 test は、あなただけのものですか?だから、それを公開する理由はない。

git は常にあなたと他の人の変更を尊重しようとします。 --rebase . 適切な説明ができないと思うので、以下をご覧ください。 Git book - リベース または git-ready。リベース入門 をご覧ください。これは非常にクールな機能です。