Answers:
从Visual Studio Code 1.13开始, 更好的合并已集成到Visual Studio Code的核心中。
将它们连接在一起的方法是修改您.gitconfig
和您有两个选择。
要使用命令行条目执行此操作,请输入以下各项:(注意:如Iztok Delfin和e4rache所述"
,'
在Windows Git Bash,macOS和Linux上替换为)
git config --global merge.tool vscode
git config --global mergetool.vscode.cmd "code --wait $MERGED"
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
为此,可以在.gitconfig
Visual Studio Code中粘贴一些行。
git config --global core.editor "code --wait"
命令行。在这里您可以输入命令git config --global -e
。您将需要在下面的“附加块”中粘贴代码。
[user]
name = EricDJohnson
email = cool-email@neat.org
[gui]
recentrepo = E:/src/gitlab/App-Custom/Some-App
# Comment: You just added this via 'git config --global core.editor "code --wait"'
[core]
editor = code --wait
# Comment: Start of "Extra Block"
# Comment: This is to unlock Visual Studio Code as your Git diff and Git merge tool
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
# Comment: End of "Extra Block"
现在,从Git目录中运行冲突git mergetool
,而tada,则有了Visual Studio Code帮助您处理合并冲突!(只需确保在关闭Visual Studio代码之前先保存文件即可。)
有关code
从命令行启动的更多信息,请参阅本文档。
有关更多信息,git mergetool
请查阅此文档。
unknown tool: vscode
…我非常确定您必须使用命令行来code
代替VsCode,而不是vscode
git difftool -d
的目录差异。明天我会检查工作原理。
我不得不用简单的引号替换双引号:
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
为使其正常工作(用双引号将$ LOCAL和$ REMOTE替换为其值)。
如果您使用的是Windows的Git Bash而不是Windows Command Prompt,则需要这样做。
:^)
'
)。
如果有人要在Visual Studio中解决该问题,则可以通过Visual Studio进行其他选择:Team Explorer->单击“主页”图标=>“设置”按钮=>展开Git部分=>单击“全局设置”
使用该手册,您可以找到一个有趣的参数:
git difftool --help
-x <command>, --extcmd=<command>
Specify a custom command for viewing diffs. git-difftool ignores the configured defaults and runs $command $LOCAL $REMOTE when this option is specified.
Additionally, $BASE is set in the environment.
通过此信息,您可以轻松使用以下命令,而无需触及git配置:
git difftool -x "code --wait --diff"
类似的问题在这里