在我目前的回购协议,我有以下的输出:
$ git branch -a
* master
remotes/origin/master
remotes/public/master
我想删除remotes/public/master
从分支列表:
$ git branch -d remotes/public/master
error: branch 'remotes/public/master' not found.
此外,输出git remote
是奇怪的,因为它没有列出public
:
$ git remote show
origin
我怎样才能从分支列表中删除“的远程数据库/公共/主”?
更新,尝试了git push
命令:
$ git push public :master
fatal: 'public' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
你可能会需要一个清理
git gc --prune=now
或者你可能需要剪枝
git remote prune public
修剪
删除所有陈旧跟踪分支机构下<名>。 这些陈旧的分支机构已经从<名>引用的远程库中删除,但仍然本地可用的“遥控器/ <名>”。
随着--dry-run选项,报什么树枝的修剪,但实际上没有修剪它们。
但是,看来这些应该已经与前面清理
git remote rm public
R M
删除远程命名为<名称>。 远程所有远程跟踪分支和配置设置将被删除。
因此,它可能是你手动编辑您的配置文件,这并没有发生,或者你有特权的问题。
也许再次运行,看看会发生什么。
建议上下文
如果你把在看看修改日志 ,你会注意到我建议更“正确”技术,这无论出于何种原因不想在他们的仓库工作。
我怀疑OP做了的东西,留下了他们的树,导致它奇怪的行为有点不一致的状态,并git gc
被要求解决了遗留的残余。
通常 git branch -rd origin/badbranch
是足够的摧毁当地的跟踪分支,或git push origin :badbranch
为的摧毁远程分支, 通常你将永远不会需要调用git gc
所有你需要做的是
git fetch -p
它会删除所有的地方分支机构被远程删除。
如果你是混帐1.8.5+可以自动设置此
git config fetch.prune true
要么
git config --global fetch.prune true
git push public :master
这将删除远程分支命名master
肯特弗雷德里克指出。
要列出远程跟踪分支:
git branch -r
要删除远程跟踪分支:
git branch -rd public/master
所有你需要做的是
$ git branch -rd origin/whatever
就这么简单。 没有理由在这里所说的GC。
git gc --prune=now
是不是你想要的。
git remote prune public
或git remote prune origin
如果那是该远程源#
是你想要的
当裁判挤满接受的答案并没有为我工作。 然而,这不:
$ git remote add public http://anything.com/bogus.git
$ git remote rm public
在我来说,我是想删除已保存在项目.git/packed-refs
。 您可以编辑该纯文本文件,并删除其条目git br -D
不知道如何触摸(至少在版本1.7.9.5)。
我发现这个解决方案在这里: https://stackoverflow.com/a/11050880/1695680
git push origin --delete <branch name>
:从引用http://www.gitguys.com/topics/adding-and-removing-remote-branches/
我有一个类似的问题。 答案没有帮助。 在我来说,我有两个删除远程仓库永久显示出来。
我最后的想法是用手工删除所有引用。
比方说库被称为“回购”。 我所做的:
find .git -name Repo
并删除了相应的文件和目录
grep Repo -r .git
这个发现在我删除了相应的线路一些文本文件。 现在,一切都似乎是罚款。
通常你应该离开这个工作的git。
我不知道git branch -rd
,所以我已经解决了问题,这样对自己的办法就是把我的回购作为远程回购和进行远程删除。 git push . :refs/remotes/public/master
git push . :refs/remotes/public/master
。 如果其他方法不工作,你必须要摆脱一些奇怪的参考,这种原始的方法是万无一失的。 它给你确切的精度来删除(或创造!)任何形式的参考。
仅略有关,但仍因为我们有可能会在相同的情况下有益的 - 我们使用网络文件共享我们的远程仓库。 上周事情的工作,这周我们得到了错误“远程起源没有做广告参考分支裁判/头/主,这Ref可以不在远程存在,或者可以通过权限设置隐藏”
但是,我们认为没有采取任何措施来腐朽的东西。 在NFS做快照,所以我每次审查“以前的版本”,只见那三天前,在仓库中的MB大小已经从282MB到了33MB,并且约1403新文件和300个文件夹现在存在。 我问我的同事,一个曾试图那天做一个推 - 然后将其取消。
我使用的NFS“恢复”功能来恢复它只是在该日期之前,现在万物工作的罚款一次。 我曾尝试修剪之前,没有似乎帮助。 也许更严厉的清理会工作。
希望这可以帮助别人12:29人一天!
松鸦