Gitでオリジン/マスターを削除する方法


10

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

端末のスクリーンショット

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

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 acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git'

いいえ、Githubを使用してません。


1
なぜそうしたいのですか?他に支店はありますか?
ダニエルB

確かに他のブランチがあります(画像へのリンクを確認してください。実際に表示してもらえますか?)。私たちはリベースしmasterなければなりませんでした、そしてそれは今やなるはずの一時的なブランチでそれを行いましたmaster。唯一の問題は、サーバーでマスターを強制終了できない理由がわからないことです。
Atcold 2014年

2
たぶんあなたが探している答えではないかもしれませんが、リベースmasterorigin/masterにプッシュして、古いものを新しいものに効果的に置き換えることができます。
SlightlyCuban 2014年

エラーメッセージに加えて、使用しているコマンドを投稿してください。
キラレッサ2014年

@Kyralessa、スクリーンショットを確認してください。
Atcold 2014年

回答:


7

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

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

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


素晴らしい、それが働いていたし、それは私よりおよそ学習のチャンス与えたrefsGitリポジトリを!どうもありがとうございました!(うん、私はGithubでそれを処理する方法を知っていましたが、個人サーバーではそうではありませんでした。)
Atcold

12

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

git push origin otherbranch:master -f

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


はい、ありがとう!強制できることはわかっていますが、なぜmasterブランチを削除できなかったのか正確に疑問に思っていました。受け入れられた答えはその理由を説明しています。
Atcold 2014年

1
+1。これは、remotes / origin / masterで不良な最初のコミットを削除できる唯一の方法でした。
2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.