由于我们项目的发布步骤,我无法合并两个分支,但我想知道两个分支是否存在冲突。我怎样才能做到这一点?
问问题
23246 次
2 回答
114
假设您在master
分支上,并且您想测试该dev
分支是否可以在没有冲突的情况下合并到master
.
# In the master branch
git merge dev --no-ff --no-commit
之后,您将能够知道是否存在冲突。
要在正常情况下返回,只需中止合并:
git merge --abort
根据 git 文档:
--ff
如果合并解析为快进,则不生成合并提交,仅更新分支指针。这是默认行为。
-no-ff
即使合并解析为快进,也会生成合并提交。
--commit
执行合并并提交结果。此选项可用于覆盖 --no-commit。
--no-commit
使用 --no-commit 执行合并,但假装合并失败并且不自动提交,让用户有机会在提交之前检查并进一步调整合并结果。
于 2012-06-04T09:50:51.950 回答
1
根据用例提供答案 - 您在功能分支上 - 正在进行更改。与此同时,另一位同事对共享文件进行了更改并合并到主干中。现在您已准备好合并。此时您将遇到合并冲突的问题。
确保您拥有最新版本的主干分支
git fetch
git checkout trunk
git pull
切换回功能分支
git checkout feature
在功能分支中,模拟合并到主干分支作为快进(--no-ff)。--no-commit 将阻止自动提交
git merge trunk --no-ff --no-commit
检查文件。
- [<<<<<<< HEAD] 和 [=======] 之间的行是功能分支中的行
- [=======] 和 [>>>>>>> trunk] 之间的行是主干分支中的行
要中止模拟合并并返回原始状态,请运行
git merge --abort
于 2022-01-13T07:44:18.370 回答