1

リモート リポジトリで 2 つの壊れたコミットを削除したいと考えています。

私が使用した:

git reset --hard <commit_id>

そのため、元に戻したい最後のコミットに戻ることができました。次に、変更したファイルを(リポジトリではなく)外部フォルダーから貼り付けて、変更を適用しました。

リモートリポジトリにプッシュバックすると、エラーがスローされます。

$ git push origin master --force
me@mydomain.com's password:
stdin: is not a tty
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first
)
To ssh://me@mydomain/repos.git
! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'ssh://me@mydomain/repos.git'

しかし、もう一度プルすると、git reset を使用して削除した古いコミットが戻ってきます。

使ってみた

git push origin master --force 

すでにですが、まだ機能しません。

リモートからコミットを削除し、新しいファイルをリモートに追加できるようにするには、これをどのように修正すればよいですか?

ありがとう!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~

アップデート:

ここでの使用git push origin :master については、qqx からの回答の出力です

$git push origin :master
stdin: is not a tty
remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error:
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to

remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the

remote: error: current branch, with or without a warning message.
remote: error:
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To ssh://me@domain.com/repos.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to ssh://me@domain.com/repos.git
4

1 に答える 1