git 如何使用VS代码作为SourceTree中的合并和比较工具?

z9smfwbn  于 2023-02-11  发布在  Git
关注(0)|答案(6)|浏览(376)

This question和其他一些人讨论了如何在Mac上实现这一点,但我找不到来自Microsoft或Atlassian的文档,说明如何在Windows * 上实现这一点,而不 * 尝试将其设置为全局Git设置。(我只是更喜欢尽可能在IDE中进行更改。
在SourceTree的“Options”对话框的“Diff”选项卡中,“Custom”设置使用哪些参数来与VS代码进行比较和合并?

3yhwsihp

3yhwsihp1#

也许还有其他更好的变化,但经过一些实验,我发现这些工作足够好...

  • 为“外部比较工具”和“合并工具”选择“自定义”
  • 在这两种情况下,“Diff命令”都是指VS-Code安装位置的路径,例如:

C:\程序文件(x86)\Microsoft VS代码\代码. exe

  • Diff'ing的命令行参数为:

--差异--等待“$本地”“$远程”

  • 对于合并:

-n --等待“$合并”
“-n”标志使VS-Code打开一个新窗口,我更喜欢这样,因为VS-Code打开得太快了,但您可以忽略它。当处理合并冲突时,您必须在完成后关闭文件才能继续。SourceTree似乎不会一致地删除它创建的中间文件,但您可以选择,右键单击并从未暂存文件部分“删除”它们,这非常容易。

68de4m5k

68de4m5k2#

我可以使用code.cmd脚本通过以下步骤进行设置:

  • 将"自定义"设置为比较和合并的外部工具
  • 指向code.cmd命令

C:\用户[用户名]\应用程序数据\本地\程序\Microsoft VS代码\bin\代码. cmd

  • 使用与@HeyHeyJC说明的相同的命令行参数

Diff 'ing的命令行参数为:

  • -差异--等待"$本地""$远程"
    对于合并:
  • n--等待"$合并"
    对我来说,我当时能够使用diff和合并从sourcetree。
  • 注意:默认情况下,* code.cmd * 文件包含一个命令行参数来打开CLI指令 * "%~dp0..\resources\app\out\cli.js",* 并且每次都打开它有点乏味!我删除了这个参数,所以我的文件看起来如下所示,现在只有从Sourcetree发送的文件被打开。*
@echo off
setlocal
set VSCODE_DEV=
set ELECTRON_RUN_AS_NODE=1
call "%~dp0..\Code.exe" %*
endlocal
gfttwv5a

gfttwv5a3#

您需要在源树中执行以下配置

  • 转到源树工具选项比较
  • 在"外部比较/合并“部分中,为"外部比较工具”和“合并工具”选择“自定义
    *差异参数→ --diff --wait "$LOCAL" "$REMOTE"
    *合并参数→ -n --wait "$MERGED"
  • 保存配置后,后藤源树并右键单击具有合并冲突的文件解决冲突启动外部合并工具
    注意:****比较合并命令应指向C:\Users\<user name>\AppData\Local\Programs\Microsoft VS Code\Code.exe

bvpmtnay

bvpmtnay4#

在macOS上,只需将code放入“比较命令”框中,然后使用HeyHeyJC指定的参数

nafvub8i

nafvub8i5#

你也可以在源树和Visual Studio之间打开你正在处理的项目。当冲突发生时,切换到Visual Studio Git Changes视图。Visual Studio和其他工具(如源树)会与当前资源库状态同步,这样当你 checkout 到分支或在其他工具中提交时,它会显示在Visual Studio中,反之亦然。当你在VS中解决冲突时,这将显示在源树中。如果你像我一样懒惰,这可以解决你的问题,而不需要配置任何东西。

bybem2ql

bybem2ql6#

此外,MacBook的解决方案是在这里:Atlassian Community

相关问题