安装类

https://github.com/git/git/tags下载最新的zip包后,解压并开始安装,官方教程地址

这里记录关键点以便参考:

$ yum install gcc autoconf zlib-devel  # 安装依赖
# yum install gcc autoconf zlib-devel asciidoc xmlto  # 若需doc则会多2个依赖
$ make configure  # 生成configure文件
$ ./configure --prefix=/usr/local/git/  # 生成配置信息,指定安装目录
$ make
# make all doc  # 编译全部内容,包括文档
$ make install 
# make install install-doc install-html  # 安装全部内容

为方便使用,安装后配置环境变量才能使用快捷命令git。永久配置环境变量有两种方法,一种是直接编辑/etc/profile,在最后追加

export PATH=$PATH:/usr/local/git/bin

于是在/etc/profile.d下新建脚本git.sh,添加以下内容

<aside> 💡 根据/etc/profile文件内容可以看到,其会读取/etc/profile.d文件夹下所有的sh内容,使用profile.d方式更利于维护。

</aside>

# vim /etc/profile.d/git.sh

export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin

然后刷新环境变量,测试效果。

$ source /etc/profile

$ echo $GIT_HOME
/usr/local/git

$ git -v
git version 2.40.1

配置类

忽略文件大小写

Git 默认对于文件名大小写是不敏感,即ignorecase true。如果修改了文件名大小写,但是 Git 并没有发现有任何的改动。所以我一般是设为大小写敏感的,难得去git mv

git config core.ignorecase false

忽略文件属性

Git 默认会跟踪文件的权限修改,即filemode true,当使用 chmod 后,被修改权限的文件添加到被修改的状态。但这个不是必须的,因为大部分代码是源代码,适配平台的默认属性即可,免得不必要的 git 变更。

git config core.filemode false

存储认证信息

如果使用SSH连接且未对密钥设置口令,那么会很方便的使用Git。但如果使用HTTP(S)链接,那么默认情况下每次都要输入用户名密码。Git的凭证系统机制如下: