web-dev-qa-db-ja.com

GitでOrigin /マスターを削除する方法

削除できないOrigin/masterサーバーから。なぜだかわかりません。

Screenshot of my terminal

エラーメッセージは次のとおりです

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 [email protected]:/export/home/a/elabshare/git/ID-check.git
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to Push some refs to '[email protected]:/export/home/a/elabshare/git/ID-check.git'

いいえ、私はnotを使用していますGithub

10
Atcold

面白い事実:リモートリポジトリでさえブランチにあります。 Originが現在「チェックアウト」しているブランチを削除しようとしているため、拒否されます。

リポジトリに直接アクセスできる場合は、Shellのベアなreporディレクトリを開き、古き良きgit branchを使用して、Originが現在どのブランチにあるかを確認できます。別のブランチに変更するには、 git symbolic-ref HEAD refs/heads/another-branch を使用する必要があります。

GithubやGitoriousのようなサービスを使用している場合は、変更を行うためにツールが提供するUIを使用する必要があります(一般的なツールでそれを行う方法については this answer を参照してください)。

7
SlightlyCuban

実際にマスターをサーバーから削除する代わりに、次のように置き換えることができます。

git Push Origin otherbranch:master -f

これはmasterをotherbranchの内容に置き換えますが、リモートではまだmasterと呼ばれます。そして、ローカルでマスターとしてマスターをチェックアウトできます。

12
Kyralessa