0

这就是我正在做的......我如何摆脱原始远程分支?还有,这是什么?

[master] /dir: git status
# On branch master
nothing to commit (working directory clean)

[master] /dir: git remote show
github

[master] /dir: git branch -r
  github/master
  origin/HEAD -> origin/master

[master] /dir: git branch -rd origin/HEAD
error: remote branch 'origin/HEAD' not found.

[master] /dir: git branch -rd origin
error: remote branch 'origin' not found.

[master] /dir: git branch -rd origin/HEAD -> origin/master
-bash: origin/master: No such file or directory

[master] /Applications/MAMP/htdocs/asanawww: git branch -rd origin/master
error: remote branch 'origin/master' not found.

[master] /Applications/MAMP/htdocs/asanawww: git push origin :master
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我也试过

git gc --prune=now

没有运气

4

3 回答 3

4

很抱歉,我没有足够的声誉来添加评论。

我意识到这实际上是评论而不是答案,但是这个问题可能会有所帮助。

解决方案:

git remote set-head origin -d
于 2013-01-24T01:32:40.253 回答
3

你应该做:

git branch -rd origin/master

考虑到此命令将在本地删除远程分支,即保存在存储库中的“origin/master”引用。如果该分支仍然存在于远程中,则在进行拉取或提取时将再次创建“原点/主”引用。

要从远程正确删除它,您可以使用:

git push origin :master

这种<local>:<remote>表示法意味着<local>引用将作为<remote>分支推送。通过使用:master你的意思是“无参考”是作为主人推,从而删除它。

另一种选择是执行删除推送:

git push --delete origin master
于 2013-01-24T01:29:37.647 回答
0

也许您需要删除与本地分支关联的工作树(以防它被检入另一个目录)

git worktree remove work-tree-directory --force //use force if its dirty

然后你可以使用删除分支

 git branch -D branch-to-delete  // -D is for force delete, for normal use -d
于 2018-09-11T14:21:58.553 回答