gpt4 book ai didi

Git配置 merge 文件的顺序

转载 作者:行者123 更新时间:2023-12-05 05:25:09 29 4
gpt4 key购买 nike

我们的存储库包含多个源代码文件和一个构建工件文件(例如编译的养蜂场蓝图)。

有一个构建脚本我可以配置为该文件的 merge 驱动程序,但如果源尚未 merge (或者至少它是从 merge 状态构建的,这是不正确的),它就会失败。有没有办法告诉 git 应该以什么顺序尝试 merge 文件?有一个 -O<orderfile>对于 git-diff , 但这似乎不适用于 git-merge .

最佳答案

2016 年 10 月更新,适用于 Git 2.11+(2016 年第 4 季度)

There is a -O<orderfile> for git-diff, but that does not seem to be applied to git-merge.

现在有,但对于git mergetool :

参见 commit 654311b (2016 年 10 月 8 日),和 commit 57937f7 , commit 08221e3 , commit 8827b3a (2016 年 10 月 7 日)David Aguilar ( davvid ) .
帮助:Johannes Sixt ( j6t ) .
(由 Junio C Hamano -- gitster -- merge 于 commit 5b4c45a ,2016 年 10 月 17 日)

mergetool: honor -O<orderfile>

Teach mergetool to pass "-O<orderfile>" down to git diff when specified on the command-line.

git mergetool man page现在包括:

-O<orderfile>:

Process files in the order specified in the <orderfile>, which has one shell glob pattern per line.
This overrides the diff.orderFile configuration variable.
To cancel diff.orderFile, use -O/dev/null.

注意:订单文件格式仅记录在 Git 2.12 中。

参见 commit 874444b , commit 1a5fccc (2017 年 1 月 15 日)作者 Richard Hansen ( rhansen ) .
(由 Junio C Hamano -- gitster -- merge 于 commit 831bd5e ,2017 年 1 月 23 日)


原始答案 2015 年 8 月

问题似乎来自对 merge 驱动程序脚本所做的修改,此外对其他文件的修改。

当您 merge 分支时, merge 驱动程序脚本本身尚未 merge 。

为什么不在单独的专用分支中更新 merge 驱动程序脚本,然后先 merge 该分支。
然后 merge 你的开发分支。

另一种方法也可以使用包装器,如 OP Mikulas Dite comments :

Turns out it's really as simple a creating a custom merge wrapper, leaving the build artefact as -merge.
The wrapper runs git merge, and if there are no other unresolved files other than the artefact, run the build script.

关于Git配置 merge 文件的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149151/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com