Git Merge驱动程序 – 文件属性

使用自定义驱动程序在
Git中合并时,传递给驱动程序的
Git属性/参数的完整文件路径是什么?

例如:

driver = filfre %O %A %B

这三个文件的完整文件路径是什么,%O,%A和%B?

-皮匠

最佳答案 您可以按照我发布的关于
How do I tell git to always select my local version for conflicted merges on a specific file?的示例进行操作.

该场景涉及合并驱动程序,您可以调整它以显示这三个变量.

keepmine.sh

echo
echo origin $1
echo origin content:
cat $1
echo
echo local  $2
echo local content:
cat $2
echo
echo remote $3
echo remote content:
cat $3
exit 0

它归还给我的是:

C:\Prog\Git\tests\CopyMerge>git merge hisBranch

origin .merge_file_a08152
origin content:
  b

local .merge_file_b08152
local content:
  b
  myLineForB

remote .merge_file_c08152
remote content:
  b
  hisLineForB

所以在这个例子中,它似乎生成了三个本地临时文件,名称为merge_file_xxx.

正如BlackEye在评论和BlackEye的答案“Git Merge Driver – How to find out full path of merged file?”中所提到的,commit ef45bb1引入了(git 2.5,2015年7月)带有%P的外部驱动程序的原始路径.

点赞