Git 图文详解(二):Git 安装及配置
- 1.Git 的配置文件
- 2.配置 - 初始化用户
- 3.配置 - 忽略.gitignore
Git 官网:https://www.git-scm.com/ 下载安装包进行安装。Git 的使用有两种方式:
- 命令行:Git 的命令通过系统命令行工具或 Git 提供的命令行工具运行(
C:\Program Files\Git\git-bash.exe
)。 - GUI 工具:Windows(GUI)、Mac(GUI)工具,需单独安装,使用更简单、更易上手。
通过指令 git --version
查看安装版本号:
$ git --version
git version 2.33.0.windows.2
1.Git 的配置文件
Git 有三个主要的配置文件:三个配置文件的优先级是:① < ② < ③
① 系统全局配置(--system
):包含了适用于系统所有用户和所有仓库(项目)的配置信息,存放在 Git 安装目录下 C:\Program Files\Git\etc\gitconfig
。
② 用户全局配置(--global
):当前系统用户的全局配置,存放用户目录 C:\Users\[系统用户名]\.gitconfig
。
③ 仓库 / 项目配置(--local
):仓库(项目)的特定配置,存放在项目目录下 .git/config
。
#查看git配置
git config --list
git config -l
#查看系统配置
git config --system --list
#查看当前用户(global)全局配置
git config --global --list
#查看当前仓库配置信息
git config --local --list
仓库的配置是上面多个配置的集合:
$ git config --list
$ git config -l
diff.astextplain.textconv=astextplain
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=Kanding
user.email=123anding@163.com
2.配置 - 初始化用户
当安装 Git 后,首先要做的事情是配置你的用户信息。告诉Git你是谁?配置 用户名、邮箱地址,每次提交文件时都会带上这个用户信息,查看历史记录时就知道是谁干的了。
配置用户信息:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
user.name
为用户名,user.email
为邮箱。--global
:config
的参数,表示用户全局配置。如果要给特定仓库配置用户信息,则用参数--local
配置即可,或直接在仓库配置文件.git/config
里修改。
# 配置完后,看看用户配置文件
$ cat 'C:\Users\Kwongad\.gitconfig'
[user]
name = Kanding
email = 123anding@163.com
3.配置 - 忽略.gitignore
工作目录中的文件并不是全都需要纳入版本管理,如日志、临时文件、私有配置文件等不需要也不能纳入版本管理,那该怎么办呢?
在工作区根目录下创建 .gitignore
文件,文件中配置不需要进行版本管理的文件、文件夹。.gitignore
文件本身是被纳入版本管理的,可以共享。有如下规则:
#
符号开头为注释。- 可以使用 Linux 通配符:
- 星号
*
代表任意多个字符; - 问号
?
代表一个字符; - 方括号
[abc]
代表可选字符范围; - 大括号
{string1,string2,…}
代表可选的字符串等。
- 星号
- 感叹号
!
开头:表示例外规则,将不被忽略。 - 路径分隔符
/f
开头:,表示要忽略根目录下的文件f
。 - 路径分隔符
f/
结尾:,表示要忽略文件夹f
下面的所有文件。
#为注释
*.txt #忽略所有“.txt”结尾的文件
!lib.txt #lib.txt除外
/temp #仅忽略项目根目录下的temp文件,不包括其它目录下的temp,如不包括“src/temp”
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt