在VSCode中使用MSYS2的Git

编写一个bat脚本:

@echo off
setlocal

if "%1" equ "rev-parse" goto rev_parse
git %*
goto :eof
:rev_parse
for /f %%1 in ('git %*') do cygpath -w %%1

将脚本保存为git-wrap.bat,然后去vscode中进行设置:

"git.path": "(脚本保存路径)/git-wrap.bat",

即可正常使用msys2中的git。

2022年1月20日更新:不过我个人还是建议别在msys2里使用git了,直接用git for windows吧,不愿意运行安装程序的话可以下载portable版的,把PortableGit\bin加入path就好了。因为虽然上面的bat脚本解决了vscode看不到git仓库的问题,可vscode的一些插件,如gitlens却依然无法正常使用;还有其他一些软件会配合git工作,它们会在home目录里存一些文件给git用,而msys2中git的home目录和系统的home目录不同,又会引来尴尬(比如heroku生成的_netrc文件)。

参考资料:https://github.com/microsoft/vscode/issues/4651

留下评论