私たちは枝を起源とし、発展しています。マスターの初期状態はでタグ付けされましたtag_ABC
。
開発ブランチに加えられた変更はほとんどなく、元に戻されました。その後、誤って開発をマスターにマージし、元に戻しました。
ここで、マスターをチェックポイントに戻しtag_ABC
ます。どうすればそれができますか?
私たちは枝を起源とし、発展しています。マスターの初期状態はでタグ付けされましたtag_ABC
。
開発ブランチに加えられた変更はほとんどなく、元に戻されました。その後、誤って開発をマスターにマージし、元に戻しました。
ここで、マスターをチェックポイントに戻しtag_ABC
ます。どうすればそれができますか?
回答:
できるよ
git checkout master
git reset --hard tag_ABC
git push --force origin master
これにより、アップストリームリポジトリの既存の履歴が上書きされ、このリポジトリをチェックアウトしている他の開発者に問題が発生する可能性があることに注意してください。
git reset --hard HEAD^
git reset --hard HEAD^
、一度に1つのコミットをステップバックするために複数回使用でき、リモートにある場合はgit push --force origin master
使用できます。
git pull
とgit reset --hard origin/master
これは質問に対する直接の答えではありませんが、ブランチのコードをタグリリースに戻す方法を検索すると、このページに戻ります。
もう1つの方法は、ブランチの現在の状態と元に戻したいタグの間に差分を作成し、それをブランチに適用することです。これにより、バージョン履歴が正しく維持され、変更が行われた後、再び返されることが示されます。
ブランチがmasterと呼ばれ、戻りたいタグが1.1.1と呼ばれると仮定します。
git checkout 1.1.1
git diff master > ~/diff.patch
git checkout master
cat ~/diff.patch | git apply
git commit -am 'Rolled back to version 1.1.1'
git push origin master
cat ~/diff.patch | git apply
ますerror: unrecognized input
。何か案が?@NitinBansalおそらく最近コメントしたので?
git push --force origin master