4

在与 SVN 作斗争后,我被告知我应该检查 GIT,因为分支对于我想要实现的工作流程来说是理想的。我一直在蒙混过关,认为我现在已经掌握了 GIT 的基础知识。

我们基本上有一个我们的一些客户使用的中心框架,我想要一个主干/主服务器并像往常一样使用分支,用于开发/尝试东西,但我也想为每个客户创建分支,所以我可以处理客户特定的代码更改。这些分支将永远是一个分支,并且永远不会最终合并回主干/主干。

我想要实现的主要目标是,我可以轻松地将所有更改从主干/主分支合并到各个客户端分支,并且我对是否需要合并或变基感到困惑。

所以我的问题......我应该总是为此使用rebase,如果是这样,为什么?(因为我想在每个分支中保留单独的提交?)

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

  • 我承诺要掌握
  • 我创建了一个名为client1的分支
  • client1我添加一个新文件并提交
  • client1我改变 file.php 所以$x = 2

git 日志预合并

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

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

4

1 回答 1

2

你应该合并。由于分支与 master 分歧,重新定位将在 master 上进行所有更改,并在分支顶部重新创建它们。这意味着对于您正在跟踪的每个客户端分支,master 上的每个提交都将被复制。

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

于 2013-04-10T14:17:35.233 回答