git工作流,并将更改从主服务器合并到分支机构

在与SVN挣扎之后我被告知我应该查看GIT,因为分支机构将是我想要实现的工作流程的理想选择.我一直在混淆,认为我现在已经对GIT的基础知识进行了分类.

我们基本上有一个中央框架,我们的一些客户使用,我希望有一个trunk / master和正常使用分支,dev /尝试东西,但我也想为每个客户创建分支,所以我可以处理客户特定的代码更改.这些分支永远是一个分支,永远不会最终合并回主干/主服务器.

我想要实现的主要功能是,我可以轻松地将所有更改从trunk / master合并到各个客户端分支,如果我需要合并或者rebase,我会感到困惑.

所以我的问题……我是否应该一直使用rebase,如果是这样,为什么呢? (因为我想在每个分支中保留各个提交?)

编辑所以我创建了一个repo,在那个repo中我说file.php的$x = 1

>我承诺要掌握
>我创建了一个名为client1的分支
>在client1中,我添加了一个新文件并提交
>在client1中,我更改了file.php,因此$x = 2

>在master中我对file.php进行了更改,但它是一个新行,$x仍然是$x = 1
>在client1中我合并master并在$x上发生冲突

是因为我在$x附近的file.php中添加了一个新行,导致冲突吗?

最佳答案 你应该合并. Rebasing将在master上进行所有更改,因为分支从master分离并在分支顶部重新创建它们.这意味着对于您正在跟踪的每个客户端分支,将对主服务器上的每个提交进行复制.

合并在语义上是你在做什么.生成的提交图看起来会更好,Git将更容易执行合并,因为在每次合并之后,master的历史将成为分支自己的历史记录的一部分–Git将只需要考虑master上的提交最后一次合并,而不是重新考虑master上的每个提交.

点赞