如何关闭Git分支?

问题描述:

所以我开始使用Git + GitHub。如何关闭Git分支?

在我们的小型分布式团队中,每个成员都为他们分配的每个问题/需求创建自己的分支。

  1. git branch Issue#1 <-- create this branch
  2. git checkout issue#1 <-- switch over to this branch

现在code codecommitcodecommit等..

然后pull requestcode-fixupcommitcodecommit ..等

和最终...拉取请求被接受。

Woot。

但..现在是什么? (......尴尬......)

在本地开发机器上创建分支的人是否需要关闭分支?一个建议是开发人员删除分支`(... -D ...),然后做一个拉/刷新主人,然后将获得他们所有的分支代码。

Hmmmmm ...不知道 - 请帮助:)

+14

Git中的一个分支只是特定提交的标签 - 所以基本上,如果您不再需要它 - 只需删除该“分支”(即该提交上的“标签”)即可。在本地,只要做一个'git分支问题#1 -d',这就是所有 - 没有代码丢失,只是一个标签已从你的版本库中删除 – 2011-12-23 09:14:36

+1

@marc_s我建议只是作出回答:) – KingCrunch 2011-12-23 09:23:23

+0

所以@marc_s - 你是说标准实践曾经是你的分支......并且分支已经被推动了......我们删除了它?怎么样合并? – 2011-12-23 09:25:03

我们要求开发商要求拉入请求的状态,他们希望删除的分支。大多数情况下都是这样。有时需要分支(例如,将更改复制到另一个发行版分支)。

我的手指都记下来了我们的过程:

git checkout <feature-branch> 
git pull 
git checkout <release-branch> 
git pull 
git merge --no-ff <feature-branch> 
git push 
git tag -a branch-<feature-branch> -m "Merge <feature-branch> into <release-branch>" 
git push --tags 
git branch -d <feature-branch> 
git push origin :<feature-branch> 

一个分支是工作。一个标签及时标记一个地方。通过标记每个分支合并,我们可以在需要时重新生成分支。分支标签已被多次用于审查更改。

+7

我们对程序进行了最近的更改。使用'git push --tags'是非常重要的,并下载所有标签。这使你很难拥有自己的本地标签。相反,我们使用'git push origin branch- '来推送一个标签。 – 2012-04-24 17:07:11

+0

因此,最后一行,您需要记住使用之前设置为“branch- ”的功能分支的标签名称,而不仅仅是。正确? – 2017-01-18 16:18:04

+0

@PremierBromanov最后一行用于删除远程分支。记住标签@BillDoor已经使用了'git push --tags'。 – Deivide 2017-04-20 17:28:22

是的,只是通过运行git push origin :branchname删除分支。稍后修复一个新问题,再次从主站点分支。

+3

这将删除远程分支,而不是本地分支。 – KingCrunch 2011-12-23 09:25:22

+3

我不知道为什么这是在-2模式,这是正确的答案。他们肯定有一个偏远的分支机构,他们怎么可能会发布PR​​呢? – 2011-12-23 19:09:22

+1

@PaulBetts我同意。我也投了票。 – gilligan 2011-12-23 21:15:14

完成后的代码首先合并分支掌握然后删除该分支

git checkout master 
git merge <branch-name> 
git branch -d <branch-name> 
+0

这是在我自己的开发机器上,对不对?接受任何新代码的主要人..他的机器在其他地方。 – 2011-12-23 09:49:49

+2

如果有人正在进行合并,他通常将分支指针放在单独的远程位置,例如发件人/分支名称。他将需要使用'git remote prune sender'在你做完之后也将其清除 - 虽然在大多数情况下,他不需要关心。 – 2011-12-23 15:32:32

+1

*您应该永远不要合并自己的分支,除非您是负责将其集成到主树中的分支。如果您不是,并且您要求其他人整合它,请使用新的远程提交更新您的主分支 - 它们应包含您要求提取的任何内容 - 然后删除您的分支。这确保了如果其他人改变了事情,你就不会有任何问题。 – ThiefMaster 2011-12-23 15:47:24