由于项目的一个发布步骤,我无法合并两个分支,但我想知道它们之间是否存在合并冲突。我怎么能这么做?
假设您在 master分支上,并且您想要测试 dev分支是否可以在不与 master发生冲突的情况下合并。
master
dev
# In the master branch git merge dev --no-ff --no-commit
在那之后,你就能知道是否存在冲突。
在正常情况下返回,只需中止合并:
git merge --abort
根据 Git 的文件:
--ff 如果合并解析为快进,则不要生成合并提交,只更新分支指针。这是默认行为。 -no-ff 即使合并解析为快进,也要生成合并提交。 --commit 执行合并并提交结果。此选项可用于覆盖——无提交。 --no-commit 使用—— no-commit 执行合并,但假装合并失败并且不自动提交,以便让用户有机会在提交之前检查并进一步调整合并结果。
--ff 如果合并解析为快进,则不要生成合并提交,只更新分支指针。这是默认行为。
--ff
-no-ff 即使合并解析为快进,也要生成合并提交。
-no-ff
--commit 执行合并并提交结果。此选项可用于覆盖——无提交。
--commit
--no-commit 使用—— no-commit 执行合并,但假装合并失败并且不自动提交,以便让用户有机会在提交之前检查并进一步调整合并结果。
--no-commit
根据用例提供答案-你在一个特性分支上-致力于改变。与此同时,另一位同事对共享文件进行更改并合并到主干中。现在可以合并了。此时,您将遇到合并冲突的问题。
确保您有最新版本的主干分支
git fetch git checkout trunk git pull
切换回特性分支
git checkout feature
在特性分支中,将合并模拟为一个快进(—— no-ff)
git merge trunk --no-ff --no-commit
检查文件。
若要中止模拟合并并返回到原始状态,请运行