Git诞生于Linux平台并作为版本控制系统率先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方法在Linux上安装Git
安装Git的两种方式:
一种方法是通过Linux发行版的包管理器安装已经编译好的二进制格式的Git软件包
另外一种方式就是从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系统:RHRL,Fedora,CentOS等版本:
$ yum install git
$ yum install git-svn git-email gitk
访问Git的官方网站:Git 下载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 all
$ sudo make prefix=/usr/local install
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:到Git - Downloading Package下载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.wikpedia.org/wiki/PATH_%28variable%29,简单来讲就是你输出一条命令的时候,系统会从PATH这个配置中寻找实现这条命令的程序在哪里,找到后就启动程序
Step5:其他后续提示可以都采取缺省配置,进行安装过程。安装完成后,我们可以在Windows任意目录下,右键单击选中“Git Bash”启动Git Bash
可以执行git version 查看安装的git版本信息
在Windows下安装和使用Git有两个不同的方案,除了刚刚的Git安装包,再有一个就是基于msysGit的图形界面工具---TortoiseGit
TortoiseGit简介
TortoiseGit提供了Git和Windows资源管理器的整合,提供了Git的图形化操作界面
像其他TortoiseGit系列产品(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图形界面都可以使用同一套公钥和密钥
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中的同名变量
首次的Git设定(设定身份)
git config --global user.name "Zhang san"
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.
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 ,在弹出的客户端命令行界面中输入下面提示的命令。(比如你的邮箱是[email protected])
$ ssh-keygen -t rsa -C zhangsan1123@huawei . com
添加公钥到代码平台:
登录代码平台
进入"Profile Settings'"
点击左侧栏的"SSH Keys"
点击"Add SSH Key" ,将刚生成的公钥文件的内容,复制到"Public Key"栏,保存即可。
生成公钥举例: