我正在尝试使用config命令来合并分支。我看到有一些可用的变量,如$ BASE $ LOCAL和$ REMOTE 这些变量包含文件名,后跟基本本地远程字符串。
是否有任何变量包含这3个分支的名称?
答案 0 :(得分:0)
Refs可用于指向这些提交 - ORIG_HEAD
和MERGE_HEAD
。 This script显示了如何为它们获取合适的名称,尽管这些提交可能有多个名称:
WORK_LOCAL="$WORK/$(git name-rev ORIG_HEAD | cut -d' ' -f 2)"
WORK_REMOTE="$WORK/$(git name-rev MERGE_HEAD | cut -d' ' -f 2)"
你也可以使用git describe --all ORIG_HEAD
。
修改:有关如何在Windows下设置mergetool
的示例,请参阅this page
。要使用DiffMerge,如果您的示例命令行正确,您将省略mkdir
和cp
命令并替换该行:
meld "$WORK_LOCAL/${FILE}" "$OUTPUT/${FILE}" "$WORK_REMOTE/${FILE}"
使用:
"C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe" --title1="$WORK_LOCAL = Current branch" --title2="$BASE = Common ancestor" --title3="$REMOTE = Merging branch" /m /r="$MERGED" "$LOCAL" "$BASE" "$REMOTE"