フォークされた git リポジトリと元のリモート リポジトリの同期に関する多くの質問を見つけましたが、私の正確な問題には当てはまりませんでした。
アップストリームのリモート名でプロジェクトをフォークしたとしましょう。私のフォークの名前はoriginです。masterとdevのoriginを追跡するmasterとdevブランチがローカルにあります。
フォークされたレポに変更を加えない限り、オリジンでフォークされたレポをアップストリーム/マスターと同期できることはわかっています。
git checkout master
git pull upstream master
git push origin master
ここまでは順調ですね。しかし、今はローカルの開発ブランチで作業しており、完了したらそれをローカルのマスターにマージしたいと考えています。しかし、最初にローカル マスターをアップストリームの変更に合わせて最新の状態にします。
git checkout master
git pull upstream master
git push origin master
最初の質問: これは正しいですか? しかし、ローカルの開発ブランチはどうすればよいでしょうか? 更新したマスターでリベースしてからローカルマスターにマージするか、リベースせずにマージしてみますか? または、アップストリーム/マスターを時々プルして、ローカル開発者をアップストリーム/マスターと常に同期させておく必要がありますか?
これが達成されたら、私は
git push origin master
ローカルおよびoriginで、私のdevブランチを削除します。しかし、現在、私のマスター(ローカルおよびオリジン) は、ローカルdevによって行われた変更によってアップストリーム/マスターから逸脱しています。
2 番目の質問:アップストリーム/マスターとの同期を維持するための適切な方法は何ですか? 私はまだ単にやりますか
git checkout master
git pull upstream master
git push origin master
または、ここで他に推奨されるものはありますか (たとえば、何らかの形のリベース)? ブランチdevを再度作成した場合、最初の質問に適用したのと同じ戦略を再度適用しますか、それとも別の方法を適用しますか?
ご協力いただきありがとうございます!