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).