我将original_repo
分叉到my_repo
,它有两个分支origin/master
和origin/dev
。我将my_repo
克隆到PC上,并添加了original_repo
作为远程上游。我在本地dev
上工作并提交了它,并将其推送到my_repo
。然后提交了PR,当它被接受时,Git建议我删除分支dev
。我这样做了,my_repo
不再有dev
分支。在PC上,我使用dev
命令删除了git branch -d dev
。
但是为什么它在此命令中仍显示dev
分支?这不像跟踪吗,但是由于dev
中的my_repo
已经不在了,为什么他们还在这里?
c:\> git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
remotes/upstream/dev
remotes/upstream/master
在删除dev
分支后,它按预期从my_repo
中消失了,但是由于要处理另一个错误,如何从original_repo
中再次派生它?我觉得我可以删除my_repo
和本地PC克隆并再次分叉original_repo
。还是有一种标准的方法?
答案 0 :(得分:1)
在本地删除不会删除您的远程副本。您需要删除本地和远程分支。 要删除远程分支,您需要运行
git push origin --delete dev
这使得删除远程分支。
向该博客发送消息以了解更多信息
答案 1 :(得分:1)
当您删除上游存储库中的分支时,它不会删除本地存储库中的跟踪分支。当您删除具有相同名称的本地分支时,它 still 不会删除远程仓库的跟踪分支。
最简单的“清理”方法是使用git fetch -p
(或--prune
),它将为已删除的远程分支清理(并删除)本地跟踪分支。