我使用 git bash for Windows 和 Beyond & Compare 作为我的 difftool(但任何外部 difftool 都会发生同样的事情)。
我希望我的终端不要等待 difftool 退出以便将终端控制权交还给终端。在命令行中执行其他 git 任务时保持打开 difftool 会话对我很有用。
可能吗 ?
我不知道这是否与此有关,trustexistcode
但此设置不会改变我正在寻找的终端行为。
我使用 git bash for Windows 和 Beyond & Compare 作为我的 difftool(但任何外部 difftool 都会发生同样的事情)。
我希望我的终端不要等待 difftool 退出以便将终端控制权交还给终端。在命令行中执行其他 git 任务时保持打开 difftool 会话对我很有用。
可能吗 ?
我不知道这是否与此有关,trustexistcode
但此设置不会改变我正在寻找的终端行为。
当我问这个问题时,我不知道我可以简单地退出句柄(它只等待外部工具发出其退出代码),使用Ctrl + C.
这不是自动的,但足以开始。
编辑 - 更好的解决方案:正如@1615903 的评论中所建议的,&
在 difftool 命令之后放置一个似乎是在没有任何句柄的情况下启动 difftool。
我找到的解决方案是使用别名函数。带引号的 $@ 很重要,因为在 Windows 上,带有空格的文件夹名称很常见。
start_git_difftool() {
if [ "$#" -eq "0" ]
then
git difftool --dir-diff &
else
git difftool "$@" &
fi
}
start_bcomp() {
BCompare.exe "$@" &
}
alias bcomp=start_bcomp
alias gdiff=start_git_difftool