144

リモートのgitブランチを削除しようとしています

git push origin :my_remote_branch

そして取得:

error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@example.com:/myrepo'

これらは私の現在のブランチです

git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/my_remote_branch

git branch -r --merged
  origin/HEAD -> origin/master
  origin/develop
  origin/master

このブランチを取り除く方法についてのアイデアをいただければ幸いです。

4

9 に答える 9

281

ローカルリポジトリに存在するという事実は、リモートリポジトリに存在するrefs/remotes/origin/my_remote_branchことを意味するものではありません。refs/heads/my_remote_branchorigin

元の場所ですでに削除されている場合は、削除してgit fetch -p originください。refs/remotes/origin/my_remote_branchこの-pオプションは、対応するリモートに存在しなくなった追跡ブランチを削除するようにフェッチに指示します。デフォルトでは、それらは保持されます。

于 2012-04-24T07:11:57.430 に答える
61

古いリモートgitブランチをクリーンアップする質問が見つかりました。これでうまくいきました

git branch -r -d origin/my_remote_branch
于 2012-04-24T15:54:27.320 に答える
12

すでに削除されているリモート ブランチを削除しようとしたときに、これに遭遇しました。必要なのはプルーンだけでした。

git remote prune origin
于 2014-03-31T09:05:54.897 に答える
5

リモートブランチを強制的に削除するには、次の2つのオプションを試してください

オプション1

get push origin --delete <branchName>

オプション 2

git fetch -p origin
git branch -r -d origin/<branchName>
于 2017-01-06T09:51:47.580 に答える
1

同様の問題があります。最初にこのディスカッションに参加しましたが、 https://stackoverflow.com/a/32147743/4209849を見るまで問題を解決できませんでした。

origin/my-branch-nameとを区別するためのヒントを追加するだけmy-branch-nameです。

具体的には、次を使用する必要があります。

git push origin :my_remote_branch

それ以外の

git push origin :origin/my_remote_branch

これで少なくとも私の問題は解決しました。他の人にも役立つことを願っています。

于 2016-09-24T19:41:57.993 に答える