Git:安装配置
跳到导航
跳到搜索
下载
安装
Linux
依赖
Git 的工作需要调用curl
,zlib
,openssl
,expat
,libiconv
等库的代码,所以需要先安装这些依赖工具。(已有,一般不需安装)
apt-get
# 安装 git 依赖
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
yum
# 安装 git 依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
包安装
各 Linux 系统可以使用其安装包管理工具(apt-get
、yum
等)进行安装:
apt-get
# 安装 git
apt-get install git
yum
# 安装 git
yum -y install git
源码
先从git官网下载指定版本源码,然后解压,依次输入:./config
,make
,sudo make install
这几个命令安装到指定目录即可。
# 下载指定版本源码包
wget https://github.com/git/git/archive/v2.21.0.tar.gz
# 解压
tar -zxf v2.21.0.tar.gz
# 切换到 git目录
cd git-2.21.0
# 编译
make prefix=/usr/local all
# 安装
sudo make prefix=/usr/local install
查看Git版本
安装完成,查看已安装的Git版本:
git --version
Windows
下载运行可执行文件.exe,根据向导完成安装即可。
可以使用命令行的git工具(自带了ssh客户端)了,另外还有图形界面的Git项目管理工具。
移除
centos自带Git,7.x版本自带git 1.8.3.1(),安装新版本之前需要卸载旧版本(安装后卸载也可以):
yum remove git
更新
centos自带Git,7.x版本自带git 1.8.3.1(),安装新版本之前需要卸载旧版本(安装后卸载也可以):
- 查看版本:
git --version
- 更新git:
#(2.17.1之前) git update #(2.17.1之后,Windows平台) git update-git-for-windows
配置
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。
配置等级
这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置。(使用git config --system
设置)~/.gitconfig
文件:用户目录下的配置文件只适用于该用户。(使用git config --global
设置)- 项目的git配置文件(也就是工作目录中的
.git/config
文件):配置仅仅针对当前项目有效。
- 每一个级别的配置都会覆盖上层的相同配置,所以
.git/config
里的配置会覆盖~/.gitconfig
(及/etc/gitconfig
)中的同名变量。
配置内容
内容 | 命令 | 说明 |
---|---|---|
用户信息 |
git config --global user.name "eijux"
git config --global user.email Test@eijux.com
|
配置个人的用户名称和电子邮件地址 |
文本编辑器 |
git config --global core.editor Vim
|
设置git默认使用的文本编辑器(一般可能会是 Vi 或者 Vim) |
差异分析工具 |
git config --global merge.tool vimdiff
|
设置git在解决合并冲突时使用的差异分析工具(如:vimdiff) |
查看配置
查看git配置信息(所有配置):
git config --list
- 如果出现重复的变量名,说明来自不同的配置文件(
/etc/gitconfig
、~/.gitconfig
或.git/config
),Git采用最后一个(向上覆盖)。
查看git指定配置,如“用户名称”:
git config user.name
如:
Microsoft Windows [版本 10.0.19041.508]
(c) 2019 Microsoft Corporation。保留所有权利。
D:\git\eijux>git config -l
http.sslcainfo=D:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
user.email=chen@eijux.com
user.name=Eijux
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
gui.wmstate=normal
gui.geometry=1061x563+128+128 233 255
remote.eijux.url=git@github.com:Eijux/eijux.git
remote.eijux.fetch=+refs/heads/*:refs/remotes/eijux/*
branch.master.remote=eijux
branch.master.merge=refs/heads/master
D:\git\eijux>git config -l --global
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
user.email=chen@eijux.com
user.name=Eijux
D:\git\eijux>git config -l --system
http.sslcainfo=D:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
D:\git\eijux>