0

何かを間違って押した後、次を使用して元に戻します。

git reset --hard HEAD~1

その後、ログの番号がプロンプトに表示されます。どうすればそれを削除できますか?

また、今コミットしようとすると、次のエラーが発生します。

現在どのブランチにもありません

4

1 に答える 1

1

rlegendiが述べgit checkout <branchname>たように、分離モードから抜け出すには呼び出す必要があります。

以前にプッシュしたリポジトリから最後のコミットを削除する場合はgit push -f、プッシュを強制するために呼び出す必要があります。

ただし、注意してください: 誤ってプッシュされたコミットを以前にプルした他の人は、ローカル ブランチをリベースする必要がある場合があります ( recovery_from_upstream_rebaseの「ハード ケース」を参照してください) 。

いくつかの例を挙げると、

  1. あなたとあなたの協力者はブランチmasterで作業しています。
  2. originとして参照されるリモート リポジトリにプッシュしました。
  3. オリジンのマスターの最後のコミットを削除し、
  4. 協力者は、まだ存在していた古いバージョンをプルしました。

この場合、実行する必要があります

git fetch origin
git rebase --onto origin/master master

別のケースでは、共同作業者が最初に削除されたものの上に追加のコミットを持っていた場合、彼らは実行する必要があります

git fetch origin
git rebase --onto origin/master master~n
于 2012-11-15T14:59:37.367 に答える