【问题标题】:Critical situation in removing a local branch删除本地分支机构的危急情况
【发布时间】:2018-12-20 01:54:47
【问题描述】:

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

$ git branch -D <branch_name>

我的问题是,如果我删除设置了 upstream本地分支,然后进行正常推送,它不会删除 远程分支 对吗?

在这种情况下我该怎么办?


[注意]:

  • "-D" 是强制删除选项。
  • 我想删除本地分支并保持远程分支在原点。

【问题讨论】:

  • 是的,您必须明确地 push --deletepush :&lt;branch_name&gt; 才能远程删除它。
  • @miqid 我只想删除一个本地分支,而不是原点上的实际远程分支。

标签: git gitlab git-branch git-remote


【解决方案1】:

git 只会删除你的本地分支,请记住,本地和远程分支实际上是没有任何关系的。它们在 Git 中是完全独立的对象。

即使您已经建立了跟踪连接(在大多数情况下都应该这样做),但这并不意味着删除一个也会删除另一个!

如果要删除任何分支项,则需要显式删除它。

在 Git 中删除本地分支

git branch -d <branch_name>

使用大写字母-D 就像-d 的“强制”版本。如果分支没有完全合并,如果你使用小写版本,你会得到一个错误。这再次与远程分支无关,只会删除您的本地分支。

在 Git 中删除远程分支

git push origin --delete <branch_name>

所以你的问题

如果我删除了一个设置了上游的本地分支,然后执行 正常推送,不会删除远程分支吧?

你是对的,它不会删除远程分支。

【讨论】:

  • 我在我的问题中使用了大写 D
  • 编辑了我的问题,为您提供所需的答案@BenyaminJafari
  • 但在我的问题下方的 cmets 中,@miqid 说“是”!
  • 它是删除远程分支的不同命令。您所做的是正确的,不会影响任何远程分支。
猜你喜欢
  • 2017-03-30
  • 1970-01-01
  • 2016-07-08
  • 2018-09-29
  • 2015-03-31
  • 2011-04-30
  • 2012-05-23
  • 2021-12-11
  • 2013-04-02
相关资源
最近更新 更多