我在 Windows 上使用 Beyond Compare 4 (beta) 作为 git 中的 difftool。
以下是设置:
[diff]
tool = bc4
[difftool]
prompt = false
[difftool "bc4"]
cmd = \"C:/Program Files (x86)/Beyond Compare 4/BComp.exe\" "$LOCAL" "$REMOTE"
[merge]
tool = bc4
[mergetool]
prompt = false
[mergetool "bc4"]
#trustExitCode = true
cmd = \"C:/Program Files (x86)/Beyond Compare 4/BComp.exe\" "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
我正在使用此命令将当前的本地更改(包括未提交/未暂存的更改)与分支的起点(与分支分歧的位置develop
)进行比较
git difftool $(git merge-base develop HEAD) --dir-diff
这将打开一个包含所有已更改文件的目录差异。当我双击一个文件时,它会在新选项卡中打开文件差异。
我希望能够编辑当前本地版本的“右侧”文件。问题是显示的实际文件是 git 为 Beyond Compare 创建的文件的临时副本以显示差异(并且在我关闭 BC 窗口后将被删除)。
但是,在进行单个文件比较时,如下所示:
git difftool develop path/to/some/file.something
差异的“右侧”显示文件的实际本地版本,可以编辑。
有什么方法可以告诉 git 在某些东西和本地版本之间进行 dir-diff 时,打开实际的本地文件而不是创建临时副本?
我的目标是能够从 BC dir-diff 内部编辑和保存文件。