我们的团队最近搬到了Git。我已被烧了几次,因为我的鳕鱼不知何故最终没有像我希望的那样进入开发分支。从那时起,我已经停止删除我每天处理代码的分支,以防我以后需要这些分支。
我现在有很多分支机构,我不想每天都在SourceTree中查看。但是,我仍然想保存这些分支以防万一。有什么方法可以保存我的旧分支但是把它们放在一边以免污染我的Git存储库吗?
答案 0 :(得分:3)
如果您想继续开发和发展该分支,分支机构就在那里。如果情况并非如此,并且您只将分支保留为“书签”,则应使用标记(并删除分支)。
这样,git branch -a
看起来会更清晰。如果有一天你想回去查看该分支的样子,你可以随时签出标签,最后根据该标签重新创建一个分支。
答案 1 :(得分:0)
我能想到的一件简单的事情就是看看你是否可以使用不同的视图配置SourceTree - 一个只显示活动分支,另一个显示所有分支。
编辑:这仍将显示已合并到活动分支的所有分支。如果在活动分支视图中有很多旧分支,我会怀疑你是否需要保留它们。 Git会记录导致您的活动分支的所有提交,包括合并。因此,如果您希望保留旧分支的原因是要查看错误的引入位置,那么您很幸运。只需删除所有这些分支并使用git bisect
即可。但是,如果您想要它们的原因是标记版本,那么我建议您查看git flow。
我建议这样做的原因是分支的数量对git来说不是问题,而是对你而言。如果那些旧的分支从您的存储库视图中消失,他们就不会打扰您。他们不会以任何方式放慢git的速度。你也想要存档它的事实告诉我你可能想回来看看它们。所以只需在存储库的两个视图之间切换。
我没有广泛使用SourceTree,所以我不知道它是否支持不同的视图。我知道gitk会:gitk
和gitk --all
。我希望SourceTree也能这样做。
希望这有帮助。
答案 2 :(得分:0)
在我的工作流程中,我删除了git -d branchname
的分支
如果它还没有合并到另一个分支中,这将拒绝删除分支(至少,在我的git版本中,可能你需要更新?),如果它是soso,我会保留分支以供以后使用。
如果我确定我想绝对摆脱分支,我会使用git -D branchname
,不会抱怨没有合并。
答案 3 :(得分:0)
这似乎仍然是一个偏好问题。我更喜欢保留这些分支,以便通过查看git日志,我可以轻松回答“为什么代码在一周前分支”的问题,而无需阅读所有提交消息并尝试理解将它们联合起来。