我正在使用以下命令通过强制删除选项删除本地分支:
$ git branch -D <branch_name>
我的问题是,如果我删除一个设置了upstream 的local branch,然后进行正常推送,它不会删除remote branch 对吧?
遇到这种情况我该怎么办?
[注意]:
"-D"
是强制删除选项。- 我想删除本地分支并保留原始分支。
最佳答案
git 只会删除你的本地分支,请记住本地和远程分支实际上彼此没有任何关系。它们在 Git 中是完全独立的对象。
即使您已经建立了跟踪连接(在大多数情况下您应该这样做),这仍然并不意味着删除一个也会删除另一个!
如果要删除任何分支项,则需要显式删除它。
在 Git 中删除本地分支
git branch -d <branch_name>
使用大写的 -D
就像是 -d
的“force”版本。如果分支未完全 merge ,则使用小写版本会出现错误。这再次与远程分支无关,只会删除您的本地分支。
在 Git 中删除远程分支
git push origin --delete <branch_name>
所以你的问题
If I delete a local branch that had an upstream set and then do a normal push, it won't delete the remote branch right?
你是对的,它不会删除远程分支。
关于git - 删除本地分支的危急情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51295388/