cmc*_*nty 719 git branch remote-branch
在我目前的回购中,我有以下输出:
$ git branch -a
* master
remotes/origin/master
remotes/public/master
Run Code Online (Sandbox Code Playgroud)
我想remotes/public/master从分支列表中删除:
$ git branch -d remotes/public/master
error: branch 'remotes/public/master' not found.
Run Code Online (Sandbox Code Playgroud)
此外,输出git remote是奇怪的,因为它没有列出public:
$ git remote show
origin
Run Code Online (Sandbox Code Playgroud)
如何从分支列表中删除"remotes/public/master"?
更新,尝试了git push命令:
$ git push public :master
fatal: 'public' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
Ken*_*ric 722
您可能需要清理
git gc --prune=now
Run Code Online (Sandbox Code Playgroud)
或者你可能需要修剪
git remote prune public
Run Code Online (Sandbox Code Playgroud)
修剪
删除<name>下的所有陈旧跟踪分支.这些陈旧的分支已从<name>引用的远程存储库中删除,但仍在"remotes/<name>"中本地可用.
使用--dry-run选项,报告将修剪哪些分支,但不实际修剪它们.
但是,看起来这些应该早点用
git remote rm public
Run Code Online (Sandbox Code Playgroud)
R M
删除名为<name>的远程.将删除远程的所有远程跟踪分支和配置设置.
因此,您可能手动编辑了配置文件,但这没有发生,或者您有权限问题.
也许再次运行,看看会发生什么.
如果您查看修订日志,您会注意到我提出了更多"正确"的技术,这些技术无论出于什么原因都不想在其存储库中运行.
我怀疑OP做了一些让他们的树处于不稳定状态的东西,导致它表现得有点奇怪,并且git gc被要求修复左后方残骸.
通常 git branch -rd origin/badbranch足以用于核心本地跟踪分支,或者git push origin :badbranch用于核对远程分支,通常您永远不需要呼叫git gc
Paw*_*ari 670
你需要做的就是
git fetch -p
Run Code Online (Sandbox Code Playgroud)
它将删除远程删除的所有本地分支.
如果您使用的是git 1.8.5+,则可以自动设置
git config fetch.prune true
Run Code Online (Sandbox Code Playgroud)
要么
git config --global fetch.prune true
Run Code Online (Sandbox Code Playgroud)
Ala*_*avi 315
git push public :master
Run Code Online (Sandbox Code Playgroud)
这将删除名为masterKent Fredric指出的远程分支.
列出远程跟踪分支:
git branch -r
Run Code Online (Sandbox Code Playgroud)
要删除远程跟踪分支:
git branch -rd public/master
Run Code Online (Sandbox Code Playgroud)
jps*_*ain 156
你需要做的就是
$ git branch -rd origin/whatever Run Code Online (Sandbox Code Playgroud)
就这么简单.没有理由在这里打电话给gc.
ton*_*roo 70
git gc --prune=now 不是你想要的.
git remote prune public
Run Code Online (Sandbox Code Playgroud)
或git remote prune origin#如果那是远程源
是你想要的
chr*_*ris 29
当裁判被打包时,接受的答案对我不起作用.但是这样做:
$ git remote add public http://anything.com/bogus.git
$ git remote rm public
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我试图删除保存的条目.git/packed-refs.您可以编辑此纯文本文件并从中删除git br -D不知道如何触摸的条目(至少在版本1.7.9.5中).
我在这里找到了这个解决方案:https://stackoverflow.com/a/11050880/1695680
git push origin --delete <branch name>
Run Code Online (Sandbox Code Playgroud)
参考自:http ://www.gitguys.com/topics/adding-and-removing-remote-branches/
| 归档时间: |
|
| 查看次数: |
262559 次 |
| 最近记录: |