Git初识-学会分布式版本控制系统
2018-01-29 21:10
239 查看
初识Git
Git是目前最先进的分布式版本控制系统,我大家都知道以前有一个版本控制系统SVN,想必大部分的码农都应该用过,SVN是一个集中式的版本控制系统,相当于一个服务器,项目组的成员在进行开发时,先从服务器上将代码下载出来,然后 进行开发工作,最后提交自己的代码。集中式的最大的问题就在于需要联网才能进行相应的工作,如果上传的文件过大,加上网速不行,就会无比的蛋疼。Git是分布式的,我们自己每一个人的电脑都可以充当服务器,不用考虑网速的问题。基本使用
安装在安装好之后,我们在开发过程中如果想使用Git进行版本控制,只需在自己需要的目录下进行Git的初始化
$ git config --global user.name "xxxx" $ git config --global user.email "xxxx@xxx.com"
这里输入自己的用户名和邮箱,告诉Git你是谁。因为是分布式系统,所以都需要有一个识别的标志。
$ git init
然后就是初始化自己的目录。
创建版本库(Repository)
可以创建空的库,也可以在自己以前项目的根目录下创建版本库,只需执行初始化命令即可
$ git init
将文件添加到版本库中
先执行添加操作
$ git add xx.xx $ git add . //将这个文件夹下的文件都添加进去
再执行提交操作
$ git commit -m "对此次提交的说明"
-m参数是对此次提交的说明,可以写也可以不写,但最好写上,养成良好的编程习惯,这样不论是你还是项目组其他成员都可以知道此次提交修改了什么,对别人对自己都很方便。
为什么需要两个步骤才能完成提交操作呢?
这是因为Git的工作原理,因为版本库里其实有两个分支,一个是暂存区(stage),一个是GIit为我们自动创建的第一分支master,以及指向该master的指针HEAD。执行 git add 命令将文件添加到暂存区,一次可以添加一个文件或多个文件,然后再执行git commit命令将暂存区的文件提交到master,这样我们的提交操作才算完成。
版本回退
每提交一次就是一个版本,如果我们不小心提交了错误的代码,想回到上一个版本怎么办。不要怕,Git天生就是干这个的。我们只需执行以下命令即可。
$ git log $ git reset --hard HEAD^ //回退到上一个提交的版本 $ git reset --hard commitid //也可以写commitid,回退到指定的版本
git log可以查看自己提交的记录,每一次提交都有一个id,只不过这个id是根据SHA1计算出来的一个值,所以我们想回退到指定版本只需要写上相应的id即可。Git是根据指针HEAD来管理每一次提交的版本的,Git在回退时只是把指针指到了相应的版本上。
远程库
我们以上都是在本地库的一些操作,但大多数我们在开发过程中都需要向远程库提交和下载,这时我们就需要关联到远程库,这样就可以跟很多小伙伴一起开发了。最著名的项目托管平台是GitHub,号称全球最大的同性交友平台,但因为各种原因,国内访问的速度不是很快,而且经常还会访问不了,这里我推荐大家使用码云,这是开源中国社区组织开发的国内版GitHub。
首先我们要关联到远程库
git $ git remote origin git@yourdaddress/xxx.git //远程库地址
这样再执行以上操作,我们就可以往远程库里提交代码了。执行完commit后,我们还要执行往远程库push操作
git $ git push -u origin master // -u参数是第一次推送,以后可以不加
git push命令把本地库的内容推送到远程库,我们再提交代码后就可以推送到远程库。
一般我们在GitHub上创建项目有两种方式,一种是把已有的代码托管到平台,一种是在GitHub上创建项目,然后clone到本地进行相应的开发。写到这,小伙伴都应该掌握了Git的基本用法,快快实践起来,创建自己的第一个使用Git进行版本控制的项目吧!
相关文章推荐
- 分布式版本控制系统之Git诞生
- git分布式版本控制系统试用
- 关于Git--分布式版本控制系统(1)
- 分布式版本控制系统Git常用命令
- GIT(分布式版本控制系统)
- Git(分布式版本控制系统)——操作篇(一)
- 史上最浅显易懂的Git分布式版本控制系统教程
- Git分布式版本控制系统之学习笔记
- 分布式版本控制系统Git学习资源收集汇总
- 分布式版本控制系统Git的使用总结
- 分布式版本控制系统Git学习资源收集汇总(附Github个人简历自动生成)
- GIT 分布式 SVN 集中式 版本控制系统
- Git分布式版本控制系统
- 分布式版本控制系统Git
- Git分布式版本控制系统之初体验
- 关于Git--分布式版本控制系统(3)
- 【Git分布式版本控制系统】开篇
- 分布式版本控制系统Git------git工作区和主要对象
- git(2)---git 分布式版本控制系统
- 分布式版本控制系统Git(三):git使用总结以及常用命令