如何在合并之前获得冲突文件的列表



我正在制作一个例程,以便在每次合并之前执行。它将运行单元测试并检查其他配置文件。仅供参考,它是在节点中编码的。

最后,如果一切正常,它将检查是否与develop有冲突,并将yesno输出给用户。拉取请求应该在gitlab上管理,而不是在本地分支上。因此,不应该在本地分支上进行"真正的"合并。

有没有像git -conflitcs-with-this-branch这样的git命令可用?还有一种从nodejs检索它的方法吗?

谢谢,

Stéphane。

查找合并冲突的命令是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都会在合并过程中使用索引和工作树,因此您必须确保它们在整个合并过程中都是安全的。(特别是索引和工作树在流程开始时必须是"干净的"。如果没有留下混乱的合并驱动程序,它们在流程结束时也将是干净的。)

(如何从node.js获取git merge的退出状态,我不知道。)

最新更新