何时删除分支机构 Git?
假设我们有一个稳定的应用程序。
明天有人会举报我们现在将解决的重要错误。 因此,我们为此校正创建了一个分支 "master", 我们称之为 "2011_Hotfix" 我们推广它,以便所有开发人员都可以在其纠正中进行合作。
我们纠正了错误和团结 "2011_Hotfix" 在 "master", 以及目前的发展分支。 然后点击 "master."
我们现在所做的 "2011_Hotfix"? 他应该永远坐在那里,直到终点,或者我们现在应该删除它,因为他实现了他的目标? 只需留下各地的分支才能留下不洁的,因为分支机序可能会变得很长时间,其中大部分都不再需要。
如果它将被删除,他的故事会发生什么? 它是否会被保留,即使实际的分支不再可用? 此外,我如何删除远程分支?
明天有人会举报我们现在将解决的重要错误。 因此,我们为此校正创建了一个分支 "master", 我们称之为 "2011_Hotfix" 我们推广它,以便所有开发人员都可以在其纠正中进行合作。
我们纠正了错误和团结 "2011_Hotfix" 在 "master", 以及目前的发展分支。 然后点击 "master."
我们现在所做的 "2011_Hotfix"? 他应该永远坐在那里,直到终点,或者我们现在应该删除它,因为他实现了他的目标? 只需留下各地的分支才能留下不洁的,因为分支机序可能会变得很长时间,其中大部分都不再需要。
如果它将被删除,他的故事会发生什么? 它是否会被保留,即使实际的分支不再可用? 此外,我如何删除远程分支?
没有找到相关结果
已邀请:
8 个回复
窦买办
赞同来自:
. 如果它包含非形状的变化 /也就是说,你丢失了提交,删除了分支/, git 告诉你它,不会删除它。
因此,统一分支的拆除是便宜的,不会导致历史丧失。
删除远程分支,使用
, 假设您的远程名称原点以及要删除的远程分支被调用 mybranch.
诸葛浮云
赞同来自:
使用删除旧分支机构
从服务器中删除它们
或旧语法
读为 "push nothing into branch_name at origin".
但是,虽然 DAG /定向无循环图形/ 可能表明,该提交将存在于历史中。
Google "git-flow", 它可以了解释放,分支和标签的管理。
二哥
赞同来自:
https://github.com/
, 如果您要求分支机构
pull-request
她将结合在一起 /无论是通过 UI, 无论是融合分支 pull-request/, 您不会丢失请求数据 pull /包括评论/,
即使你删除了分支。
.
其中的推论:如果您打开挤出请求对您的工作流程 /这与代码评论完美结合/, 您可以在组合后立即安全地删除分支机构。 它最近是很常见的 Github 添加 /甜的/ 弹出按钮的功能 "delete branch" 在恢复请求的合并后立即。
但值得注意的是,每个小组都应该采取一个适合她最好的工作流程。 /它可以导致或不会导致去除这些分支/. 例如,我目前的工作团队削减了与之无关的所有分支机构 master 或者 deployment /例如,制造,分期等/, 一旦挤出请求组合,我们仍然可以完全跟踪相关的提交如何形成每个产品的增量改进。
当然,没有管理历史 /pull requests 或其他/ 不替换版本的正确标记 /您最好使用相同的工具自动化/删除脚本/包装版本/, 因此,您可以随时快速切换到您当前使用的用户。 陷入困难也是解决您初始问题的关键:如果安装任何分支与分支机构组合 "work", 可能必须删除,并且任何分支都会与标签版本组合 "production" 如果没有,如果没有,您将始终固定在整合到未来版本中。
冰洋
赞同来自:
对于这些链接。 这就是为什么我更改链接,以便在删除分支后,它们指向换向或标记 GitHub.
例如,由于某些引用更改,例如在 email, 我现在完全避免了分支上的超链接 GitHub 并从第一天引用换货或标签。
我更愿意在合并后删除分支机构。 这可以防止存储库中的长期分支列表的视觉障碍。 这些分支也适用于所有插头存储库。
首先,我删除了我的本地分支机构。 这可以防止他的意外按下。
然后我删除遥控跟踪分支
然后我删除分支 GitHub. 我使用Web界面,但等效团队在下面。
即使分支永不合并,我仍然希望履行后代。 但是,我仍然喜欢删除分支。 要传播犯下并不给予它们被吃掉垃圾收集器,我做了一个指向与远程分支相同的提交的注释标记。
然后我点击标签 github
莫问
赞同来自:
, 没有失去她的故事。 我将主要讨论删除以及第二个故事。
常规分支去除方法
已经上面已经描述过,他们按预期工作。 W.
一个或两个单词没有命令,这意味着: "嘿,
, 删除本地和远程分支。" 但是可以使用脚本迁移此行为。 shell. 例如,采取
https://github.com/holman/dotf ... -nuke
. 这很简单:
将它放在可执行文件中 /例如,
/ 在其中一个目录中
. 如果你不在分支中
, 那就是跑步
, 您将删除本地和远程分支。 它更快 & 更容易 - 但可能比标准团队更危险
.
你对保持故事的关注是好的。 在这种情况下,您无需担心。 一旦你结合起来
从
, 所有的承诺
将添加到提交历史中
. 简而言之,你不会从简单的融合中丢失故事。
我想添加另一个词,或许,超越了你的问题,但尽管如此,这与目的相关。 让我们想象有 20 小犯罪" work-in-progress " 在
; 但是,您只需要一个完整的提交
被添加到故事中
. 如何结合一切 20 一个大犯罪的小犯罪? 幸运的是,
允许您在一个提交中组合几个提交
. 我不会在这里解释它是如何工作的; 虽然如果你有兴趣,
https://git-scm.com/docs/git-rebase
出色的。 注意
对应于故事,所以应该合理使用,特别是如果你是新的。 最后,你的脚本
它涉及开发人员团队,而不是单一的开发人员。 如果项目团队的成员使用
, 然后为团队合理有明确的使用建议
, 对于一些牛仔开发商,在团队中不知不觉地损坏了项目历史
.
冰洋
赞同来自:
.
董宝中
赞同来自:
冰洋
赞同来自: