关于本文
本文说明
在学习一个工具之前,需要先学会如何下载和安装,Git 同样如此,在不同的环境下,要知道如何正确安装。本文主要围绕 Linux 与Windows 进行 Git 安装的说明。并在安装结束后,对常见的配置进行说明。
本文内容
- Linux 下安装Git(包管理器安装、源码安装、命令补齐)
- Windows 下安装(安装Git & TortoiseGit )
- Git的基本配置
本文预计掌握知识点
- 学会如何在 linux 下安装Git
- 学会如何在 Windows 下安装 Git 与 TortoiseGit
- 学会如何进行基础的Git配置
目录
1 Linux下安装Git
Git诞生于Linux平台并做为版本控制系统率先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方式在Linux上安装Git。
安装Git的两种方式
- 通过Linux发行版的包管理器安装已经编译好的二进制格式的Git软件包。
- 从Git源码开始安装
1.1 包管理器方式安装
Linux 系统: Ubuntu 10.10(maverick)或更新版本,Debian(squeeze)或更新版本:
$ sudo aptitude install git
$ sudo aptitude install git-doc git-svn git-email gitk
其中git软件包包含了大部分Git命令,是必装的软件包。
软件包git-svn、git-email、gitk本来也是Git软件包的一部分,但是因为有着不一样的软件包依赖(如更多perl模组,tk等),所以单独作为软件包发布。
Linux 系统: RHEL、Fedora、CentOS 等版本:
$ yum install git
$ yum install git-svn git-email gitk
1.2 从源代码开始安装
访问Git的官方网站: http://git-scm.com/
。下载Git源码包,例如:git-2.19.0.tar.gz
。
展开源码包,并进入到相应的目录中。
$ tar -jxvf git-2.19.0.tar.bz2
$ cd git-2.19.0
安装方法写在INSTALL文件当中,参照其中的指示完成安装。下面的命令将Git安装在 /usr/local/bin
中。
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
安装Git文档(可选)。
$ make prefix=/usr/local doc info
$ sudo make prefix=/usr/local install-doc install-html install-info
1.3 命令补齐
Linux的shell环境(bash)通过bash-completion
软件包提供命令补齐功能,能够实现在录入命令参数时按一下或两下TAB键,实现参数的自动补齐或提示。例如输入 git com
后按下TAB键,会自动补齐为 git commit
。
将Git源码包中的命令补齐脚本复制到bash-completion对应的目录中:
$ cp contrib/completion/git-completion.bash /etc/bash_completion.d/
重新加载自动补齐脚本,使之在当前shell中生效:
$ . /etc/bash_completion
为了能够在终端开启时自动加载bash_completion
脚本,需要在本地配置文件 ~/.bash_profile
或全局文件/etc/bashrc
文件中添加下面的内容:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
2 Windows 下安装 Git
目前 Git 提供的 Windows 安装包自带 MinGW (Minimalist GNU for Windows,最简GNU工具集),在安装后MinGW 提供了一个bash提供的shell环境 (Git Bash) 以及其他相关工具软件,组成了一个最简系统(Minimal SYStem),这样在 Git Bash 中,Git的使用和在Linux下使用完全一致。
2.1 安装 Git
-
Step1:到
https://git-scm.com/download/win
下载 Windows 安装包,例如:Git-2.19.0-64-bit.exe
执行开始安装,如图:
默认安装到
C:\Program Files\Git
目录中。
-
Step2:这里选择一些必要的组件,开源的
git-lfs
存在一些问题,建议把勾选去掉 。
-
Step3:Git 默认的编辑器,建议保持默认,当然你也可以选择其它的,例如 Notepad++。
-
Step4:在安装过程中会询问是否修改环境变量。建议选择
“Use Git Bash Only”
,即只在MinGW
提供的shell环境中使用Git,不修改 PATH 环境变量,避免 Git 自带的工具与 Windows 下已有的产生冲突。
如果不清楚 PATH,可以参考https://en.wikipedia.org/wiki/PATH_%28variable%29
,简单来讲,就是你输出一条命令的时候,系统会从 PATH 这个配置中寻找实现这条命令的程序在哪里,找到后就启动程序。 -
Step5:其它后续提示可以都采用缺省配置,进行安装过程。
安装完成后,我们可以在 Windows 任意目录下,
右键单击选中 “Git Bash” 启动Git Bash
:
可以执行
git version
查看安装的 git 版本信息:
2.2 Windows 下安装 TortoiseGit
在Windows下安装和使用Git有两个不同的方案, 除了刚刚的 Git安装包,再有一个就是基于msysGit的图形界面工具——TortoiseGit。
TortoiseGit简介
TortoiseGit提供了Git和Windows资源管理器的整合,提供了Git的图形化操作界面。
像其他Tortoise系列产品(TortoiseCVS、TortoiseSVN)一样,Git工作区的目录和文件的图标附加了标识版本控制状态的图像,可以非常直观的看到哪些文件被更改了需要提交。通过对右键菜单的扩展,可以非常方便的在资源管理器中操作Git版本库。·
TortoiseGit安装
安装TortoiseGit非常简单,访问网站 http://code.google.com/p/tortoisegit/
,下载安装包,然后根据提示完成安装。
安装过程中会询问要使用的SSH客户端,缺省使用内置的TortoisePLink(来自PuTTY项目)做为SSH客户端。
TortoisePLink和TortoiseGit的整合性更好,可以直接通过对话框设置SSH私钥(PuTTY格式),而无需再到字符界面去配置SSH私钥和其他配置文件。
如果你的本地同时安装了命令行的 Git 版本,可以通过TortoiseGit的设置对话框选中 Git 提供的 ssh 客户端,这样在下载 ssh 协议的代码仓库的时候,通过命令行与 TortoiseGit 图形界面都可以使用同一套公钥和密钥。
3 Git 基本配置
Git有三种配置,分别以文件的形式存放在三个不同的地方。可以在命令行中使用git config工具查看这些变量。
- 系统配置(对所有用户都适用)
存放在git的安装目录下:%Git%/etc/gitconfig
;若使用git config
时用--system
选项,读写的就是这个文件:
git config --system core.autocrlf
- 用户配置(只适用于该用户)
存放在用户目录下。例如linux存放在:~/.gitconfig
;若使用git config
时用--global
选项,读写的就是这个文件:
git config --global user.name
- 仓库配置(只对当前项目有效)
当前仓库的配置文件(也就是工作目录中的.git/config
文件);若使用git config
时用--local
选项,读写的就是这个文件:
git config --local remote.origin.url
注:每一个级别的配置都会覆盖上层的相同配置,例如 .git/config 里的配置会覆盖 %Git%/etc/gitconfig
中的同名变量。
3.1 配置个人身份
首次的 Git 设定(设定身份,自己做主)
git config --global user.name “Li Si”
git config --global user.email lisi@xxx.com
这个配置信息会在 Git 仓库中提交的修改信息中体现,但和Git服务器认证使用的密码或者公钥密码无关。
注意事项:
行不更名,坐不改姓:责任追踪 / 应用之间的用户关联 / 贡献度统计
3.2 文本换行符配置
假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾 结束符问题。 这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。 虽然这是小问题,但它会极大地扰乱跨平台协作。
Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf
来打开此项功能, 如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:
$ git config --global core.autocrlf true
Linux或Mac系统使用LF作为行结束符,因此你不想Git在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正, 把core.autocrlf
设置成input来告诉Git在提交时把CRLF转换成LF,签出时不转换:
$ git config --global core.autocrlf input
这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。
如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:
$ git config --global core.autocrlf false
3.3 文本编码配置
• i18n.commitEncoding
选项:用来让git commit log
存储时,采用的编码,默认UTF-8
.
• i18n.logOutputEncoding
选项:查看git log
时,显示采用的编码,建议设置为UTF-8
.
#中文编码支持
git config --global gui.encoding utf-8
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
#显示路径中的中文:
git config --global core.quotepath false
3.4 与服务器的认证配置
3.4.1 常见的两种协议认证方式
http / https 协议认证
设置口令缓存:
git config --global credential.helper store
添加 HTTPS 证书信任:
git config http.sslverify false
ssh 协议认证
SSH协议是一种非常常用的Git仓库访问协议,使用公钥认证、无需输入密码,加密传输,操作便利又保证安全性
3.4.2 ssh认证的配置过程
生成公钥:
Git工具安装成功后运行 Git Bash,在弹出的客户
端命令行界面中输入下面提示的命令。
(比如你的邮箱是 lisi@xxx.com
)
ssh-keygen -t rsa –C lisi@xxx.com
# 或者默认操作
ssh-keygen -t rsa
生成公钥举例:
添加公钥到代码平台:
- 登录代码平台
- 进入
“Profile Settings”
- 点击左侧栏的
“SSH Keys”
- 点击
“Add SSH Key”,
将刚生成的公钥文件的内容,复制到“Public Key”
栏,保存即可。
THE END —— 一个彩蛋
至此git的安装及配置操作就讲完了,如想详细学习git操作流程,请点击 30分钟学会git操作
。