これはしばしば「同じコミットで2つのgitブランチを取得するにはどうすればいいですか?」というやや異なるバージョンです。2つのリモートgitブランチが同じコミットを指し示すようにするにはどうしたらいいですか?
私はの2つのリモート gitブランチをorigin/Aとorigin/Bといいます。どちらも遠隔で、両方が他の人によって使用されています。通常の起源/ Bは、原点/ Aの後ろに従いますが、簡単に追いつくために高速転送することができます経由:
git checkout -t origin/B
git merge origin/A
git push
すべて一度しばらくの間では、我々は一時的起源/ Bにユニークなものをコミットします。最終的にorigin/Bの内容はorigin/Aと再同期します。しかし、これが起きた後、origin/BのHEADは、origin/Aとは異なる物理コミットであり(内容はdiff-identicalであっても)、origin/Aに早送りすることはできません。
この時点でorigin/Bのポイントを元の/ AのHEADに戻すためのクリーン/正しい方法は、将来のマージを早急に行うことができますか?私は枝の歴史について特に気にしない。
私はこれをローカルブランチ上でrebaseで修正できますが、リモートブランチを削除して再作成することもできますが、これらの両方がリモートブランチの他のユーザーを傷つけると思います。
良い方法がありますか?
ローカルブランチではなくリモートブランチの管理に専念するのはなぜですか? – Nayuki
この問題は、互いの最新の状態になるまで、一方のブランチを他方のブランチをマージまたはリベースするだけで最も効果的です。 –
ブランチを使用してリリースを管理します。私はrebaseがローカルブランチで問題を解決すると考えていますが、ドキュメントでは、これをプッシュすると、リモートブランチが既にチェックアウトされている他のユーザーには何か悪いことが起こります。私がそれをする重大さを誤解していない限り? – DanJ