Cra*_*lus 13 git version-control git-pull git-clone git-branch
我有一个远程存储库和2个克隆.
我在其中一个克隆中创建了一个分支,例如test.我做了一些工作和2次提交.我合并到master分支和push -u分支.
我git pull在另一个克隆中做了一个.
我看到了两个master和test.
在我做的第一个克隆项目中:
git origin :test删除test远程存储库上的分支.
test在远程回购中被删除.
我这样做git branch -D test,test分支也在本地删除.
如果我这样做,git branch -a我得到:
*master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
现在在第二个存储库中我做了一个git pull.
在拉动局部test似乎被删除但git似乎"认为"远程test分支仍然存在.
如果我这样做,git branch -a我得到:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test
Run Code Online (Sandbox Code Playgroud)
为什么删除的test分支显示为远程分支?
Pet*_*ren 25
git fetch(以及因此git pull)的默认选项不会删除已删除的远程分支.我不确定这个默认背后的逻辑是什么.在任何情况下,要修剪已删除的远程分支,请使用
git fetch -p
Run Code Online (Sandbox Code Playgroud)
或跑
git remote prune [-n] <name>
Run Code Online (Sandbox Code Playgroud)
明确.使用该-n标志,它将报告将修剪哪些分支,但实际上不会修剪它们.有关更多信息,请参阅git-fetch(1)和git-remote(1).