在学习一个工具之前,需要先学会如何下载和安装,Git 同样如此,在不同的环境下,要知道如何正确安装。本文主要围绕 Linux 与Windows 进行 Git 安装的说明。并在安装结束后,对常见的配置进行说明。
Git诞生于Linux平台并做为版本控制系统率先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方式在Linux上安装Git。
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
访问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
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
目前 Git 提供的 Windows 安装包自带 MinGW (Minimalist GNU for Windows,最简GNU工具集),在安装后MinGW 提供了一个bash提供的shell环境 (Git Bash) 以及其他相关工具软件,组成了一个最简系统(Minimal SYStem),这样在 Git Bash 中,Git的使用和在Linux下使用完全一致。
Step1:到 https://git-scm.com/download/win
下载 Windows 安装包,例如: Git-2.19.0-64-bit.exe
执行开始安装,如图:
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
:
在Windows下安装和使用Git有两个不同的方案, 除了刚刚的 Git安装包,再有一个就是基于msysGit的图形界面工具——TortoiseGit。
TortoiseGit提供了Git和Windows资源管理器的整合,提供了Git的图形化操作界面。
像其他Tortoise系列产品(TortoiseCVS、TortoiseSVN)一样,Git工作区的目录和文件的图标附加了标识版本控制状态的图像,可以非常直观的看到哪些文件被更改了需要提交。通过对右键菜单的扩展,可以非常方便的在资源管理器中操作Git版本库。·
安装TortoiseGit非常简单,访问网站 http://code.google.com/p/tortoisegit/
,下载安装包,然后根据提示完成安装。
安装过程中会询问要使用的SSH客户端,缺省使用内置的TortoisePLink(来自PuTTY项目)做为SSH客户端。
TortoisePLink和TortoiseGit的整合性更好,可以直接通过对话框设置SSH私钥(PuTTY格式),而无需再到字符界面去配置SSH私钥和其他配置文件。
如果你的本地同时安装了命令行的 Git 版本,可以通过TortoiseGit的设置对话框选中 Git 提供的 ssh 客户端,这样在下载 ssh 协议的代码仓库的时候,通过命令行与 TortoiseGit 图形界面都可以使用同一套公钥和密钥。
Git有三种配置,分别以文件的形式存放在三个不同的地方。可以在命令行中使用git config工具查看这些变量。
%Git%/etc/gitconfig
;若使用 git config
时用 --system
选项,读写的就是这个文件:git config --system core.autocrlf
~/.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
中的同名变量。
首次的 Git 设定(设定身份,自己做主)
git config --global user.name “Li Si”
git config --global user.email [email protected]
这个配置信息会在 Git 仓库中提交的修改信息中体现,但和Git服务器认证使用的密码或者公钥密码无关。
注意事项:
行不更名,坐不改姓:责任追踪 / 应用之间的用户关联 / 贡献度统计
假如你正在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
• 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
http / https 协议认证
设置口令缓存:
git config --global credential.helper store
添加 HTTPS 证书信任:
git config http.sslverify false
ssh 协议认证
SSH协议是一种非常常用的Git仓库访问协议,使用公钥认证、无需输入密码,加密传输,操作便利又保证安全性
生成公钥:
Git工具安装成功后运行 Git Bash,在弹出的客户
端命令行界面中输入下面提示的命令。
(比如你的邮箱是 [email protected]
)
$ ssh-keygen -t rsa –C [email protected]
添加公钥到代码平台:
“Profile Settings”
“SSH Keys”
“Add SSH Key”,
将刚生成的公钥文件的内容,复制到“Public Key”
栏,保存即可。至此git的安装及配置操作就讲完了,如想详细学习git操作流程,请点击 30分钟学会git操作
。