6

我使用 git bash for Windows 和 Beyond & Compare 作为我的 difftool(但任何外部 difftool 都会发生同样的事情)。

我希望我的终端不要等待 difftool 退出以便将终端控制权交还给终端。在命令行中执行其他 git 任务时保持打开 difftool 会话对我很有用。

可能吗 ?

我不知道这是否与此有关,trustexistcode但此设置不会改变我正在寻找的终端行为。

4

2 回答 2

3

当我问这个问题时,我不知道我可以简单地退出句柄(它只等待外部工具发出其退出代码),使用Ctrl + C.

这不是自动的,但足以开始。

编辑 - 更好的解决方案:正如@1615903 的评论中所建议的,&在 difftool 命令之后放置一个似乎是在没有任何句柄的情况下启动 difftool。

于 2017-02-13T08:54:00.757 回答
0

我找到的解决方案是使用别名函数。带引号的 $@ 很重要,因为在 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
于 2020-10-09T15:02:17.883 回答