版本管理系统:集中式or分布式
集中式:集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
分布式:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
比较:和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
1.安装git
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
git config --global user.name "xxx" //替换成你自己的
git config --global user.email "14529191xxx@qq.com" //替换成你自己的
查看配置信息:git config --list
2.创建 git 仓库:
git init (初始化仓库)
git add . //或者单个文件名 (本地文件全部放到暂存区)
git commit -m "first commit" (提交文件放到本地仓库,引号内为提交说明)
git remote add origin https://gitee.com/liuxxxxx/hook-project.git (链接远程仓库)
git push -u origin master(本地分支) (本地文件推送到远程仓库)
git push master //dev (再次提交 替换上一步)
3.克隆仓库
git clone git@github.com:michaelliao/gitskills.git(远程仓库地址)
4.多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
场景:成员在远程仓库创建自己的分支,并在自己的分支上开发,之后合并到dev分支,在合并到master分支
-
在远程仓库创建自己的分支,并且在本地创建相同的分支
git checkout -b dev origin/dev //本地创建远程仓库已有的分支(自己的开发分支)
提交冲突:先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突再推送
指定本地dev分支与远程origin/dev分支的链接
git branch --set-upstream-to=origin/dev dev
拉取
git pull
因此,多人协作的工作模式通常是这样:
-
首先,将修改或添加的代码提交到本地仓库,再pull拉取代码,可以试图用
git push origin <branch-name>推送自己的修改; -
如果推送失败,如果合并有冲突,则解决冲突,并在本地提交;
-
没有冲突或者解决掉冲突后,再用
git push origin <branch-name>推送就能成功!
本文探讨了集中式和分布式版本控制系统(如Git)的区别,重点讲述了Git的安装、仓库操作、多人协作模式,以及分布式版本控制在安全性上的优势。
1211

被折叠的 条评论
为什么被折叠?



