16

いくつかのコミットをリモートリポジトリにプッシュしましたが、問題が発生していることがわかりました。

以前のバージョンに戻すにはどうすればよいですか?つまり、最新の2つのコミットを削除しますか?

4

4 に答える 4

39

コミットはすでにリモートリポジトリにプッシュされているので、おそらく2つのコミットを元に戻して、リモートリポジトリからすでにプルした人​​に問題が発生しないようにするのが最善の方法です。

例では、次のコミット履歴を使用します。

e512d38 Adding taunts to management.
bd89039 Adding kill switch in case I'm fired.
da8af4d Adding performance optimizations to master loop.
db0c012 Fixing bug in the doohickey

履歴を変更せずにコミットを元に戻したい場合は、次のようにすることができます。

git revert e512d38
git revert bd89039

または、キルスイッチを追加してから削除したことを他の人に見られたくない場合は、以下を使用してリポジトリをロールバックできます(ただし、これにより、リモートから変更を既にプルしている他の人に問題が発生します) :

git reset --hard da8af4d
git push origin -f localBranch:remoteBranch

ここlocalBranchで、はローカルブランチremoteBranchの名前であり、はリモートブランチの名前です。

于 2012-03-16T03:21:29.163 に答える
6

ローカルでロールバックして結果をプッシュできると思います。

$ git reset HEAD^ --hard
$ git push REMOTE -f

ここで、「REMOTE」はリモート名です。

于 2012-03-16T03:16:17.793 に答える