Git SDK安装与配置

上一级页面:index-windows

前言

Git作为代码管理程序,自带一个好用的shell工具–Git Bash

但在Windows中,git发行版自带的git bash是阉割版,git sdk for windows则包含一个完整版本的git bash,并且提供了一套基本完整的集成开发环境

故此,在Windows环境下,推荐首先安装git sdkgit sdk包含了一个完整的git bash,本文将给出详细配置。

然后再通过git sdk来安装git,本文将给出安装过程

Git SDK 简介

Git SDK 全称 Git for Windows SDK,是基于 MSYS2(MinGW64 + Cygwin 合体增强)的仿 Linux 环境;

安装后大约会占用 4~5 GB 的磁盘空间,但是包含了完整的仿 Linux 环境:包括常用工具,完整的 GNU Complier 链以及包管理器 pacman;基本上是一套完整的集成开发环境,所以是 SDK

此外,虽然 Git SDK 是基于 MSYS2 的,是 Git 的超集……

但是你仍然需要安装 Git,本文将给出安装过程

建议安装 Git SDK 而不是 MSYS2,因为前者比后者好用

安装git发行版 git for windows

要安装git sdk,需要先安装git,你可以去 Git for Windows 官网,点击如图按钮下载
Pasted image 20220522143956

安装 Git SDK

你可以去 Git for Windows 官网,拉到最下面可以看到 Git SDK 的下载;Pasted image 20220522144342
这样下载的是一个安装器,会自动从一个仓库克隆这个程序所需要的全部文件但是下载速度感人,

下载Git for Windows SDK:

Release Git for Windows SDK v1.0.8 · git-for-windows/build-extra

安装步骤如下:

将解压后的文件放在某个位置,将这个路径记为git-sdk安装目录

Pasted%20image%2020220411115248.png

安装有点慢,先设置走代理

1
2
3
4
# https协议设置走 HTTP 隧道代理
git config --global http.proxy "http://127.0.0.1:1080"
# 下面这条会丧失安全性
git config --global https.proxy "http://127.0.0.1:1080"

具体其他的详情见git-连接远程服务器的代理方案

等待自动化安装过程:

Pasted%20image%2020220411115502.png

如果安装过程中,报错安装失败,检查代理设置后,

手动打开C:\git-sdk-64,显示系统隐藏文件,然后删除.git文件夹,然后手动管理员身份运行C:\git-sdk-64下的setup-git-sdk.bat

git bash with git sdk设置网络代理

进行网络代理配置,详情见 index-proxy

配置环境变量

将安装目录下的/cmd文件夹加入系统变量

Pasted image 20220609073048
Pasted image 20220609073105
注意:\usr\bin目录最好不要加到系统变量,避免与其他类似工具比如 Gow 产生冲突,所

另外一方面,要在cmd等shell中使用git,也需要配置这个环境变量

更新源和核心包

修改 pacman 软件包源为国内源

在 /etc/pacman.d/ 目录下有三个文件:mirrorlist.msysmirrorlist.mingw64 和 mirrorlist.mingw32;我们可以直接在 Windows 中使用文本编辑器修改它们为国内源:

1
2
3
4
5
6
7
8
9
10
11
##  
## MSYS2 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
1
2
3
4
5
6
7
8
9
10
11
##  
## 64-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
1
2
3
4
5
6
7
8
9
10
11
##  
## 32-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/

注意服务器的顺序,将国内服务器放在优先的位置才能保证 pacman 优先使用它;

更新git SDK

Updating your SDK

更新SDK需要关掉所有的GitBash窗口,以防有文件被锁住。 需要启动Windows的cmd来更新,然后进入C:\git-sdk-64\。 然后在此cmd窗口中执行update-via-pacman.bat。 不管有没有更新,每次总会重装git-extra

也可以直接在文件浏览器中双击运行update-via-pacman.bat来完成更新。

还可以调用pacman -Syu来更新。过程中可能需要关掉重开git-bash,也许需要多次执行pacman -Syu

更新核心软件包

核心的软件包msys2-runtime、 bash以及pacman还可以通过pacman -Syu来一起更新,因为这些软件在编译的时候互相依赖。 要保证他们的互相依赖是正确的。

1
pacman -Syu

另一可选的办法是执行执行C:\git-sdk-64\git-cmd来弹出一个cmd窗口,在其中执行pacman -Sy --needed msys2-runtime && pacman -S --needed pacman bash

执行C:\git-sdk-64\git-cmd

更新核心运行时,更新pacman,并更新bash

1
2
3
pacman -Sy --needed msys2-runtime
pacman -Sy --needed pacman
pacman -Sy --needed bash

建议将msys2-runtime、bash和pacman分开来,单独升级。总之有可能会遇到比较奇怪的问题。

遇到某些错误无法更新

如果遇到某些错误无法更新,那么总是可以选择下载一个新的SDK,重新安装之。过程中,你可以选择保留旧SDK中的usr/src,将其同步到新的SDK中。

也可以查看git update-git-for-windows -h

更新pacman源

运行git sdk

更新源信息,首次更新可能需要重启;

1
pacman -Syu

pacman -Sy可以确保软件包最新。pacman -Syu将所有软件包升级到最新。

使用pacman安装git

windows下通过git sdk来安装git

1
pacman -S git

git是最常用的代码管理系统,git的使用见git-安装-配置

卸载git 发行版

在Windows中,git发行版自带的git bash是阉割版,git sdk for windows则包含一个完整版本的git bash,并且提供了一套基本完整的集成开发环境,还可以通过git sdk来安装git

此时可以卸载系统中原本的git 发行版,

进入Git for Windows 官网

如图所示,你点击图中按钮下载的就是git发行版,现在已经可以卸载这个发行版了
Pasted image 20220522143956

安装常用包

可以通过pacman -S <package-name>安装软件包

安装git、wget

1
2
pacman -S wget
pacman -S git

pacman没有自带的perl。安装perl

1
pacman -S perl

为git bash添加 sudo 命令:gsudo-sudo

常用命令

Package management

Git for Windows基于MSYS2。MSYS2和MSYS1相比,引进了包管理器msys。

更多参考The difference between MINGW and MSYS2

可以通过pacman -S <package-name>安装软件包。-Sy可以确保软件包最新。pacman -Syu将所有软件包升级到最新。

删除软件包pacman -R <package-name>

列举软件包pacman -Q;查询软件包内容pacman -Ql <package-name>;查询文件所属的软件包pacman -Qo <file-name>

仓库

Git for windows有三个相关的pacman仓库

常见问题

Git-Bash的文件映射

参考、引用、致谢

在 Windows 10 中使用 zsh 作为默认终端 - 七海の参考書 (shiraha.cn)

在 Windows 10 中使用 zsh 作为默认终端 - 七海の参考書 (shiraha.cn)

Windows Terminal美化(oh-my-posh3) - 知乎 (zhihu.com)

Git for Windows的编译环境 | Marvin’s Blog【程式人生】 (marvinsblog.net)