如何在合并前获取冲突文件列表?
how to get list of conflicted files before merging?
我正在制作一个在每次合并之前执行的例程。它将 运行 单元测试并检查其他配置文件。仅供参考,它在节点中编码。
最后,如果一切正常,它会检查是否与develop
有冲突,并向用户输出yes
或no
。拉取请求应该在 gitlab 上管理,而不是在本地分支上。所以在本地分支上不应该有 'real' 合并。
是否有像 git -conflitcs-with-this-branch
这样的 git 命令可用?以及从 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 在整个期间使用它们都是安全的。 (特别是索引和工作树在进程开始时必须 "clean"。它们在最后也将是干净的,前提是没有留下混乱的合并驱动程序。)
(如何从node.js获取git merge
的退出状态,我不知道。)
我正在制作一个在每次合并之前执行的例程。它将 运行 单元测试并检查其他配置文件。仅供参考,它在节点中编码。
最后,如果一切正常,它会检查是否与develop
有冲突,并向用户输出yes
或no
。拉取请求应该在 gitlab 上管理,而不是在本地分支上。所以在本地分支上不应该有 'real' 合并。
是否有像 git -conflitcs-with-this-branch
这样的 git 命令可用?以及从 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 在整个期间使用它们都是安全的。 (特别是索引和工作树在进程开始时必须 "clean"。它们在最后也将是干净的,前提是没有留下混乱的合并驱动程序。)
(如何从node.js获取git merge
的退出状态,我不知道。)