Git是什么?linux
Git是目前世界上最早进的分布式版本控制系统。工做原理 / 流程:git
若是没有Git!github
- 不能多人并行修改服务器的同一个文件。
- 不能对文件的每一次提交的历史记录进行查阅,回退。
- 不能对团队中的人进行权限控制
- 不能使用分支去进行多线做战
SVN与Git的最主要的区别?chrome
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是本身的电脑,因此首先要从中央服务器那里获得最新的版本,而后干活,干完后,须要把本身作完的活推送到中央服务器。集中式版本控制系统是必须联网才能工做,若是在局域网还能够,带宽够大,速度够快,若是在互联网下,若是网速慢的话,就纳闷了。最主要的问题是,若是服务器挂了,那么子节点上的内容只是当前状态,这种单点故障,想恢复之前的内容就很难了。shell
Git是分布式版本控制系统,那么它就没有中央服务器的,每一个人的电脑就是一个完整的版本库,这样,工做的时候就不须要联网了,由于版本都是在本身的电脑上。既然每一个人的电脑都有一个完整的版本库,那多我的如何协做呢?好比说本身在电脑上改了文件A,其余人也在电脑上改了文件A,这时,大家两之间只需把各自的修改推送给对方,就能够互相看到对方的修改了。并且每一个人的机器就是一整套版本库,能够直接去恢复服务器的故障。centos
安装完成后能够在开始菜单或者鼠标右键中看见Git logo,点击Git Bash会出现命令窗口,则说明成功。ssh
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum -y install git-core
由于Git是分布式版本控制系统,因此须要填写用户名和邮箱做为一个标识。curl
注意:git config --global 参数,有了这个参数,表示你这台机器上全部的Git仓库都会使用这个配置。固然你也能够对某个仓库指定的不一样的用户名和邮箱。(针对某个项目不带--global参数)分布式
git config --global user.name Heaton git config --global user.email tzy70416450@163.com #查询当前配置信息 git config --list #经过文件查看全局配置信息 cat ~/.gitconfig
什么是版本库?版本库又名仓库,英文名repository,你能够简单的理解一个目录,这个目录里面的全部文件均可以被Git管理起来,每一个文件的修改,删除,Git都能跟踪,以便任什么时候刻均可以追踪历史,或者在未来某个时刻还能够将文件”还原”。简单的理解,就是让咱们的项目交给Git大管家来帮咱们管理,须要让Git知道是哪一个项目。
而咱们的标识信息就在config文件下。
没有局部标识就会使用全局标识,通常状况下(推荐),使用全局标识就行了。
局部标识优先级大于全局标识。
cat .git/config git config user.name Heaton_1 git config user.email tzy70416450@163.com_1
在实际开发中,咱们经常会有不少开发分支,每一个小伙伴在本身的开发分支上作完了事情,就会将代码提交到测试分支上面,由测试同窗去测试,修改问题后会将代码合并到主分支上发布。
固然有些公司还会有预发布分支,修改bug分支,原理是同样的,根据规范和喜爱来咯。
github是其中一种远程仓库,注册帐号,建立仓库就可使用了。
还有码云,gitlab等等远程仓库产品。
重复4.7.1操做
用户1改变文件
用户2改变文件
修改冲突的文件
若是未加入团队,不是开发者,想提交一些代码怎么办呢。github有远程协做功能。
chrome --> Octotree
idea --> ignore