GIT Squash:它会引起问题吗?
假设我们有一个名为GIT Squash:它会引起问题吗?,git,Git,假设我们有一个名为featurebranch的功能分支。开发人员在该分支的分支中获取他们的票证,然后在功能分支中打开PR 如果发生以下情况: 开发者A分支出功能分支并在分支上开发票证-A 开发人员B然后转到featurebranch,将之前的两个提交压缩为一个 开发者A将ticket-A合并到feature分支 是否存在合并冲突或任何问题?由于ticket-a分支将有两个提交,而功能分支将只有一个提交,因为这两个提交被压缩。如果您有以下内容: Ancestor -- A -- B
featurebranch
的功能分支。开发人员在该分支的分支中获取他们的票证,然后在功能分支中打开PR
如果发生以下情况:
功能分支
并在分支上开发票证-A
featurebranch
,将之前的两个提交压缩为一个李>
ticket-A
合并到feature分支
是否存在合并冲突或任何问题?由于
ticket-a
分支将有两个提交,而功能分支将只有一个提交,因为这两个提交被压缩。如果您有以下内容:
Ancestor -- A -- B
\-- C
然后你做一个壁球:
Ancestor -- AB
\-- A -- B -- C
您将更改历史分支,并使用新哈希创建新提交。因此,如果您试图合并这两个分支,git将尝试找到它们的共同祖先并从那里开始合并。但是A
不包含AB
所做的所有更改,这可能会导致冲突
为了解决这个问题,我建议您重新设置另一个分支的基础,以便它包含压缩的提交。您可以通过第二个分支实现这一点:
git rebase——在AB C分支上