Git 与另一个分支共享分支的一部分

Git 与另一个分支共享分支的一部分,git,Git,假设您有两个公共功能分支,feature1和feature2。 正在讨论的工作流将公共要素分支视为“集成”分支。 这两个分支中的每一个都由两个不同的开发人员负责,他们各自负责自己的业务。 有一天,feature1的开发人员意识到他需要feature2中的一些代码。最好的办法是什么。 让我们假设所讨论的代码是可以挑选的,因为每个提交都足够集中,所以它们只精确地引用所讨论的代码 然而,我的直觉是,cherry选择提交将导致以后的问题,因为它们有不同的Sha1。它还将(我认为)丢失原始作者信息 有更好

假设您有两个公共功能分支,
feature1
feature2
。 正在讨论的工作流将公共要素分支视为“集成”分支。 这两个分支中的每一个都由两个不同的开发人员负责,他们各自负责自己的业务。 有一天,
feature1
的开发人员意识到他需要
feature2
中的一些代码。最好的办法是什么。 让我们假设所讨论的代码是可以挑选的,因为每个提交都足够集中,所以它们只精确地引用所讨论的代码

然而,我的直觉是,cherry选择提交将导致以后的问题,因为它们有不同的Sha1。它还将(我认为)丢失原始作者信息


有更好的方法吗?

首先,
git cherry pick
不会丢失关于原始作者的信息,这是不变的。它确实会丢失提交者的信息,但这是正确的


现在,git在合并方面非常聪明,所以我认为当你选择你想要的提交时应该没有问题。但如果您想确保,您可以在临时分支机构(或回购协议的临时副本)上进行尝试。

这就是为什么您应该为每个功能设置单独的功能分支机构的原因之一。如果您有需要的代码的分支,您可以简单地合并它。我说的对吗,你的回购协议不是这样的?每个功能都有一个单独的分支。问题是feature1需要feature2中的一些代码。然后您可能应该将您的功能划分为更小的部分,并为每个部分设置分支。我想我的最终问题是,采摘樱桃会不会让我以后陷入麻烦