1

リモート git リポジトリを作成し、間違ったローカル リポジトリからコードをプッシュしてしまいました。
ローカル リポジトリは問題ありません。リモートにプッシュしたコンテンツを削除して、最初からやり直したいだけです。

試しgit push origin :masterましたが、エラーが発生しました:

! [remote rejected] master (branch is currently checked out)
error: failed to push some refs to 'ssh://.................

簡単にチェックインする方法はありますか?'check in' または 'checking in' (およびその他のバリエーション) は、関連する結果を生成しません。

4

2 に答える 2

2
branch is currently checked out

これは、リモート リポジトリが裸のリポジトリ(つまり、作業ツリーのないリポジトリ、つまりブランチがチェックアウトされている) ではないことを意味します。masterさらに、すべてのブランチが削除されます。

リモートリポジトリがあるサーバーにアクセスできる場合は、マスターブランチをリセットして、プッシュしたばかりのものHEAD~1削除できます(プッシュするのはあなただけだと仮定します)。

直接アクセスできない場合は、正しいローカル リポジトリに移動して、その正しい HEAD を master に強制的にプッシュできます

git push origin HEAD --force

ただし、リモート リポジトリをベア リポジトリに変換することもお勧めします。

于 2011-02-03T07:25:58.100 に答える
1

あなたがやろうとしたことは、コミットではなくブランチヘッドを削除します。間違いなくあなたが望むものではありません。ただし、中央コミットを削除することは悪い考えです。代わりに「git revert」を使用してください。

于 2011-02-03T07:28:13.427 に答える