0

私はこのSOの質問をここでフォローしていましたが、何かがうまくいきません...

Gitで最後のコミットを元に戻す方法は?

3 回実行するgit reset --hard HEAD~1と、必要なコードが表示され、git ステータスを実行すると、You branch is behind origin/master by 3 commits and can be fast-forward と表示されます。はい、私は 3 つのコミットを取り消したので、それは良いようですが、リモート リポジトリの最新のマスターに 3 つのコミットがないように、変更をコミットしてプッシュするにはどうすればよいですか。

ありがとう、ディーン

4

2 に答える 2

4

実行できます

git push --force

リモートリポジトリを強制的に過去にプッシュするには。

于 2012-12-17T15:18:07.107 に答える
1

まだ誰もあなたのoriginレポの状態を引っ張っていない場合は、SLaksによって提供された答えを使用してください

ただし、それについて確信が持てない場合は、他の開発者に問題を引き起こす可能性があるため、強制プッシュは最善の方法ではありません。

で使用できる方法で最後の3つのコミットを元に戻すには、を使用しoriginますgit revert。これにより、すでに作成されたコミットを元に戻す新しいコミットが作成されます。

あなたの歴史がこのように見えるなら

A--B--C--D--E--HEAD

Cを削除したい場合は、次の順序で元DE戻します

git revert E
git revert D
git revert C

そうすれば、3コミット先に originなり、面倒なことなくプッシュできます。誰かがすでに、、、およびの変更をプルした場合CDそれらEは次ので削除されますpull


ちなみに、これはあなたの参照された質問に対する受け入れられない答えも推奨するものです:
https ://stackoverflow.com/a/6376039/520162 (パブリックコミットを元に戻す

于 2012-12-17T15:31:05.937 に答える