我正在制定一个例程,在每次合并之前执行。它将运行单元测试并检查其他配置文件。仅供参考,它是在节点中编码的。
最后,如果一切正常,它会检查是否与 有任何冲突develop
,并输出yes
或输出no
给用户。拉取请求应该在 gitlab 上管理,而不是在本地分支上。所以不应该在本地分支上进行“真正的”合并。
有没有可用的 git 命令git -conflitcs-with-this-branch
?还有一种从nodejs中检索它的方法?
谢谢,
斯蒂芬。
我正在制定一个例程,在每次合并之前执行。它将运行单元测试并检查其他配置文件。仅供参考,它是在节点中编码的。
最后,如果一切正常,它会检查是否与 有任何冲突develop
,并输出yes
或输出no
给用户。拉取请求应该在 gitlab 上管理,而不是在本地分支上。所以不应该在本地分支上进行“真正的”合并。
有没有可用的 git 命令git -conflitcs-with-this-branch
?还有一种从nodejs中检索它的方法?
谢谢,
斯蒂芬。
查找合并冲突的命令是git merge
. 运行git merge
,可选地--no-commit
和可选地在分离的 HEAD 上运行。
如果存在冲突,git merge
则以非零状态退出。如果没有冲突,git merge
则以零状态退出。如果使用--no-commit
Git 运行在任何一种情况下都不提交;如果没有它运行,Git 会在当前 HEAD 上进行合并提交。如果 HEAD 已分离,则此提交仅影响 HEAD。
如果您使用了分离的 HEAD,您现在可以将 HEAD 重新附加到其原始分支或提交。
如果您使用,则无论合并成功还是失败--no-commit
,您都可以简单地运行。git merge --abort
因此,最简单的命令序列是运行git merge --no-commit
,保存退出状态,然后运行git merge --abort
。
请注意,在所有情况下,Git 都会在合并过程中使用索引和工作树,因此您必须确保 Git 在整个期间都可以安全使用它们。(特别是索引和工作树在进程开始时必须是“干净的”。如果没有留下混乱的合并驱动程序,它们最后也将是干净的。)
(如何git merge
从node.js获取退出状态,我不知道。)