作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有一个名为 feature-branch
的功能分支。该分支的开发人员分支获取他们的票,然后打开一个 PR 到 feature-brach
。
如果发生以下情况:
feature-branch
分支出来,在分支ticket-a
上开发feature-branch
并将之前的两个提交压缩为一个。 ticket-a
merge 到 feature-branch
是否会出现 merge 冲突或任何问题?由于 ticket-a
分支将有两个提交,而 feature-branch
将只有一个,因为两个提交被压缩了。
最佳答案
如果你有这样的事情:
Ancestor -- A -- B
\-- C
然后你打 Squash :
Ancestor -- AB
\-- A -- B -- C
您将更改您的历史分支并使用新哈希创建新提交。因此,如果您尝试 merge 这两个分支,git 将尝试找到它们的共同祖先并从那里开始 merge 。但是 A
不包含 AB
所做的所有更改,这可能会导致冲突。
要解决此问题,我建议您重新设置其他分支的基址,以便它包含压缩的提交。您可以使用 rebase onto 完成此操作从你的第二个分支:
git rebase --onto AB C branch2
关于GIT Squash : Does it cause issues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603918/
我是一名优秀的程序员,十分优秀!