文章目录
  1. 1. 迁移
  2. 2. Windows 环境变量

目前官方版 Git for Windows 使用了阉割过的 MSYS2 来提供 Linux 终端功能以供 Git 正常运行。如果已经是先安装了独立的 MSYS2,实际上可以直接使用软件仓库中的 Git。

  • 此 Git 版本会随 Git 更新
  • 且可通过 MSYS2 自带的软件包管理器 pacman 来管理依赖和更新
  • 节省了一个 MSYS2 基础运行占用磁盘空间

迁移

使用

1
pacman -S git

在 MSYS2 中安装 Git。
将 Git 放在 %HOMEPATH% 中的 .ssh 文件夹以及 .gitconfig 复制到 MSYS2 的 ~ 目录下相同位置。如果使用了 GPG,需要在 MSYS2 中使用 gpg 命令导入之前的密钥对。之后就可以正常使用了。

Windows 环境变量

但是使用时出现一个问题,既不想将整个 MSYS2 的 /usr/bin 放入 PATH,又需要让 Windows 程序调用 Git。
尝试将 Git for Windows 中的 cmd 目录复制到 MSYS2 根目录下并放入环境变量。但运行 git 提示:

1
Error launching git:

只好自己动手写批处理,运行 git 时先将 /usr/bin 放入 PATH,再将命令参数传入 Git。完整程序如下:

1
2
3
4
5
6
7
8
9
10
@ECHO OFF
SET MSYS2=%~dp0%..\usr\bin

FOR %%i IN ("git.exe") DO SET GIT=%%~$PATH:i
IF NOT EXIST "%GIT%" (
SET "PATH=%MSYS2%;%PATH%"
)

git.exe %*
@ECHO ON

保存为 git.bat 放入之前的 cmd 目录,即可无缝对接 Windows。

文章目录
  1. 1. 迁移
  2. 2. Windows 环境变量