Git分布式版本管理系统前夜3

一.变基

1.1.为什么要引入变基:项目提交过程是并行的,使得项目的提交历史看起来是串行的。

1.2.变基过程:首先有两个分支a1 a2,开始时同时基于一次提交。在两条分支上同时进行项目的开发,功能的完善,等到要提交的时候:切换到a1分支:git checkout a1 ;执行变基:git rebase a2;切换到a2:git checkout a2;执行合并:git merge a1;这样做和直接合并的区别是:直接合并(merge)在提交历史中可以看到a1 a2 和他们共同祖先合并过程。而变基相当于从a2 快进到a1.

1.3.变基的风险:当你从git服务器基于一个提交进行工作,但是这时,同时有人在服务器上执行了编辑操作。使得你基于的提交快照消失了,这就很麻烦了。如果你执行:git fetch origin更新操作。从远程从库拉去更新,然后再push上远程服务器。这时远程git服务器上执行的变基操作就无效了。因为你的提交历史覆盖了变基操作带来的历史记录整洁性。、

二.服务器上的git协议

2.1.通常再git服务器上采用的是ssh协议。git服务器:安装git服务的,具有一个空仓库的(.git)文件的服务器。

2.2.访问git服务器,一般采用ssh协议。设置将公钥赋值给git服务器的authorized_keys文件中,这样就能使用ssh访问git服务器了。

2.3.配置git服务器:一般在git服务器中有一个git账户,~/.ssh/authorized_keys中存放这用户的公钥,便于开发者使用访问。为开发者建立一个空的git仓库:mkdir project.git;cd project.git;git init --bare;这样一个简单的git服务器就搭建好了。


猜你喜欢

转载自blog.csdn.net/bigseacoming/article/details/80262137