在本地存储库中调用
git difftool
时,Git会将修改后的文件与其远程匹配项进行比较。为此,它会创建一个临时文件来代表远程匹配项,并设置变量LOCAL
和REMOTE
,调用在Git配置中指定的差异工具。默认情况下,临时文件会创建在/tmp/<hash>_filename
中。 是否可以更改此默认位置?
为什么要这样做?
简而言之,我正在使用Windows子系统来操作Git,并想使用Windows工具来进行差异和合并。问题是,/tmp
无法从Windows一侧访问,因此我需要将Git创建临时文件的默认位置移动到Windows可访问的地方。
我尝试过的:
到目前为止,我所能找到的建议是执行sudo mount -B /tmp /mnt/c/tmp
,但这似乎不起作用(/tmp
仍然指向以前的目录...)
TMPDIR
环境变量了吗? - sergejgit
配置禁用,而不是系统范围内的变量..现在我在控制台中运行的所有命令都将使用我的新tmp位置。@sergej如果你把它作为答案添加,我至少会点赞(如果没有其他仅限于git的选项存在,我会将其标记为实际答案)。我还会为像我这样的Linux外行人提供关于TMPDIR
的最小解释;) - GPhiloLOCAL
和REMOTE
作为两个要进行差异比较的文件的参数。我的问题在于 LOCAL 的创建位置,而不是调用外部工具。 - GPhilo