介绍
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。只花费了两周的时间,就写了一个git。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件。
GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)
Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:
- 无GitHub:在本地 .git 文件夹内维护历史文件
- 有GitHub:在本地 .git 文件夹内维护历史文件,同时也将历史文件托管在远程仓库
集中式和分布式的区别
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?
先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
安装
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。
Linux上安装
先检查下是否已经安装了git,输入git进行查看
[root@HH ~]# git -bash: git: command not found
我们可以通过yum安装git,但是安装的git版本都比较低,所以这里我们使用源码安装
挑选一个自己喜欢的版本:https://mirrors.edge.kernel.org/pub/software/scm/git/
1.下载到本地
[root@HH tmp]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.23.0.tar.xz
2.解压
[root@HH tmp]# xz -d git-2.23.0.tar.xz # 解压 [root@HH tmp]# tar xvf git-2.23.0.tar # 解包
3.进入到解压的目录里面
[root@HH tmp]# cd git-2.23.0/
4.执行./configure生成makefile文件
[root@HH git-2.23.0]# ./configure --prefix=/opt/git/ # 指定路径/opt/git
5.编译make
[root@HH git-2.23.0]# make
6.安装
[root@HH git-2.23.0]# make install
7.添加到环境变量
安装完默认是没有把git添加到环境变量的,我们之前把git安装到了/opt/git下面,里面有个bin目录,bin里面有个git,在bin里面执行./git才会生效,如果在其他地方执行则会提示找不到命令
[root@HH tmp]# git -bash: git: command not found
查看环境变量
[root@HH tmp]# echo $PATH /opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
我们把git的bin目录(/opt/git/bin/)加到环境变量就可以了
配置环境变量,永久生效,写入到文件/etc/profile中,每次登录就生效
vim /etc/profile #将此配置写到最底行 PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/git/bin/
写完之后执行source让文件生效
source /etc/profile # 读取这个文件,让git生效
执行完之后再任意目录下执行git都会生效
[root@HH tmp]# git --version git version 2.23.0
windows安装
windows下载地址:https://git-scm.com/download/win
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
可以使用git --version查看版本
git --version
配置
安装完成后,还需要最后一步设置,需要输入用户名和邮箱,可以根据自己的喜好输入
在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。