2

誤って「remotes/origin/remotes/origin/aclark」というブランチを作成してしまい、次のコマンドで削除できません:

git branch -d リモート/オリジン/リモート/オリジン/アクラーク

ギットは次のように述べています。

エラー: ブランチ 'remotes/origin/remotes/origin/aclark' が見つかりません。

ここでいくつかの提案を試しました: Deleting a badly named git branchですが、「--」で始まる悪いブランチ名を対象としています。

エンド ユーザーがこのブランチを削除できる方法はありますか、それとも git 管理者が必要ですか? (問題のブランチは gitorious に住んでいます)。

ありがとう

アレックス

4

1 に答える 1

11

これはリモート ブランチなので、サーバー上で削除する必要があります。そのためには、空の参照をプッシュする必要があります。

$ git push origin :remotes/origin/aclark

git pushコマンドの構文は次のとおりです。

$ git push <remote> <local-reference>:<remote-branch-name>

この場合、空の参照をプッシュしており、リモート名は破棄したいブランチの名前です。あなたの場合、ブランチ名「remotes/origin/remotes/origin/aclark」は、リモートサーバー名「origin」上のリモートブランチであることを示し、リモートサーバー上の名前は「remotes/origin/aclark」です。

他のクライアントは、次のコマンドを発行して、ローカル リポジトリからブランチを削除する必要があります (無効なブランチが存在するときにフェッチした場合)。

$ git fetch origin
$ git remote prune origin

詳細については、git-pushおよびgit-remote のマンページを参照してください。

于 2011-01-07T15:30:55.370 に答える