Git:保存旧分支

6
我们团队最近转移到了Git。我因为我的代码不知何故没有进入我想要的开发分支而受到了一些损失。自从那以后,我已经停止删除我每天用来编写代码的分支,以防我以后需要这些分支。
现在我有很多我不想每天在SourceTree中查看的分支。但是,我仍然希望保存这些分支以防万一。有没有办法保存我的旧分支,但将它们保持在一边,以避免污染我的Git存储库?

3
可能是与如何存档Git分支?重复的问题。 - CharlesB
是的,虽然我认为将代码推送到存档仓库,以便您可以删除本地分支,是更好的答案,因为对我来说,过多的标签比过多的分支更加痛苦。 - jthill
4个回答

4

如果您想继续开发和演进分支,就需要保留它们。如果您只是将分支作为“书签”,则应改用标签(并删除分支)。

这样,git branch -a 看起来更清晰。如果有一天您想回去看看该分支的样子,您可以随时检出标签,并基于该标签重新创建分支。


0

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

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

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

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

希望这可以帮到你。


0
在我的工作流中,我使用git -d branchname删除分支。如果该分支尚未合并到另一个分支中,则会拒绝删除它(至少在我的git版本中是这样的,也许你需要更新?),如果它确实这样做了,我将保留该分支以备后用。
如果我确定要彻底摆脱一个分支,我使用git -D branchname,它不会抱怨没有合并。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接