【问题标题】:Git: saving old branchesGit:保存旧分支
【发布时间】:2013-10-21 13:48:06
【问题描述】:

我们的团队最近迁移到了 Git。我被烧了几次,因为我的鳕鱼不知何故最终没有像我想要的那样在开发分支中。从那以后,我不再删除我每天为处理代码而创建的分支,以防我以后需要这些分支。

我现在有很多我不想每天在 SourceTree 中查看的分支。但是,我仍然想保存这些分支以防万一。有什么方法可以保存我的旧分支但将它们放在一边以免污染我的 Git 存储库?

【问题讨论】:

  • 是的,虽然我认为推送到存档仓库,这样你就可以删除本地分支是更好的答案,因为我的钱过多的标签比过多的分支更痛苦。

标签: git git-branch


【解决方案1】:

如果您想继续开发和发展该分支,则存在分支。如果不是这种情况并且您只将分支保留为“书签”,则应使用标签(并删除分支)。

这样,git branch -a 会看起来更干净。如果有一天你想回去看看那个分支的样子,你可以随时签出标签,并最终根据那个标签重新创建一个分支。

【讨论】:

    【解决方案2】:

    我能想到的一件简单的事情是看看你是否可以用不同的视图配置 SourceTree - 一个只显示活动分支,另一个显示所有分支。

    编辑:这仍然会显示所有已合并到活动分支中的分支。如果您在活动分支视图中有很多旧分支,我会质疑您是否需要保留它们。 Git 确实记录了导致您的活动分支的所有提交,包括合并。因此,如果您想要保留旧分支的原因是为了查看引入错误的位置,那么您很幸运。只需删除所有这些分支并使用git bisect。但是,如果您想要它们的原因是为了标记发布,那么我建议您查看git flow

    我建议这样做的原因是分支的数量对 git 来说不是问题,而是对你来说。如果这些旧分支从您的存储库视图中消失,它们不会打扰您。他们不会以任何方式减慢 git 的速度。您还想存档它们的事实告诉我,您可能想回来查看它们。因此,只需在存储库的两个视图之间切换即可。

    我没有广泛使用SourceTree,所以我不知道它是否支持不同的视图。我知道 gitk 会:gitkgitk --all。我希望 SourceTree 也能这样做。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      在我的工作流程中,我使用git -d branchname 删除分支 如果分支尚未合并到另一个分支中,这将拒绝删除分支(至少,在我的 git 版本中,也许您需要更新?),如果这样做,我会保留分支以供以后使用。

      如果我确定我绝对想摆脱一个分支,我会使用git -D branchname,它不会抱怨没有被合并。

      【讨论】:

        【解决方案4】:

        这似乎仍然是一个偏好问题。我更喜欢保留这些分支,以便通过查看 git 日志,我可以轻松地回答“为什么代码在一周前分支”的问题,而无需阅读所有提交消息并尝试了解它们之间的联系。

        【讨论】:

          猜你喜欢
          • 2012-06-24
          • 2014-01-12
          • 1970-01-01
          • 1970-01-01
          • 2014-10-02
          • 2015-05-20
          • 2011-03-12
          • 1970-01-01
          相关资源
          最近更新 更多