git - 删除本地分支的危急情况

标签 git gitlab git-branch git-remote

我正在使用以下命令通过强制删除选项删除本地分支:

$ git branch -D <branch_name>

我的问题是,如果我删除一个设置了upstreamlocal 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/

相关文章:

git - "git push"和 "git push --tags"在同一命令中?

Git 非快进更新被拒绝 merge 远程更改

python - Gitlab CI Runner 无法在 Python 中导入 Google.Cloud

ruby-on-rails - Gitlab.com CI 中的 Rails 主 key

git set-upstream-to=origin/master (远程的本地副本)

git - 不允许所有父项都来自同一分支的 merge 提交

git - 如何配置 maven-release-plugin 以使用 maven-scm-provider-gitexe 'shallow' 选项

Git fatal error : bad object refs/heads 2/master

docker - 使用 Gitlab 安装 Ingress 的 Kubernetes 返回 "?"作为外部 IP

git - 如何在 GitHub 中恢复已删除的 fork ?