2011-06-27 36 views
4

我在一个正在成长和利用git的团队中工作。我们通常在我们自己的分支机构工作。git合并--squash导致跨部门合并头痛

我把从其他工人库中的一些变化。他的变化最终被添加到并与一个壁球提交并入主分支。

当我试图从主取回并合并我有冲突的负载。我在想这是因为壁球合并和它会混淆合并跟踪的事实。有没有简单的方法呢?其次,如果开发人员在大量分支上工作,并且在进入主人之前可能需要其他人进行更改,那么有办法在继续对主人进行压扁提交时处理此问题。

Rebase被提及了很多。但我不明白这将如何与多个根分支一起工作?

回答

3

是,挤压严重破坏反复合并。最好的建议是不要挤压 - 特别是,不要挤压公开的东西。在与他人分享之前重写自己的提交,但共享之后,他们应该保持原样,并定期进行合并提交。

您仍然可以通过使用git log --first-parent凝聚合并分支的日志下到刚合并提交获得合理的日志输出,同时保持实际历史完好。

2

我想补充一点,挤压不仅会导致混乱当分支是公开的,如果一个开发本地工作与凌乱的一个分支犯下诸如“哦无赖再次打破了这个”,其次是“它的作品!”接着是“再次破坏它”,接着是“现在就修正它”,很容易将这些(在它们被推送到远程回购或共享之前)挤成一个提交,并带有关于代码中已经改变的好消息。

一旦推到一个远程回购,这看起来与没有压扁创建的单个正常提交看起来一样,就好像开发人员使用天使进行编程一样,确保他所做的一切都是完美的,然后开发人员可以自由使用本地git增量更改,我觉得这对我最近在代码中破坏的内容非常有用。

我拿的东西:南瓜是当地的工作流程一个伟大的工具,即一个开发。一旦共享提交,它不应该被压缩。

+0

本帖](?https://www.braintreepayments.com/braintrust/our-git-workflow)提供了一种方法来解决,而挤压合并-冲突:合并_back_压扁提交到其他分支。如果你不想合并整个分支,但你必须创建一个中间分支...... –