【Git】git分支图谱你会看吗?我来一步步和你分析

对于刚接触git的同学来学,学会看git分支图,可以更清楚地使用git参与团队协作开发。接下来,咱们就进行场景模拟,来演示下git的分支图是怎么产生的。

一. 项目立项,去github上创建仓库

项目通过了老板的审批,CTO此时去github上建仓库

 

这个大家都会,就不浪费大家时间了。

二,程序员小王进行开发

由于人手不够,暂时小王独自开发。首先在本地建立一个工作区(文件夹)

,然后克隆远程仓库的项目。

git clone https://github.com/****/gitunion.git

 

小王开发,新建文件夹wang_1.text,然后提交到本地

使用命令查看工作区状态:

git status

 

红色文件即表示git还未对该文件进行管理。我们必须让git管理他。

输入命令。

git add .//再次查看状态git status

 

此时颜色变绿,表示已被git托管。

提交被git托管的代码到暂存区

git commit -m "wang first commidt"

此时代码已经提交到暂存区了。我们可以继续创建文件wang_2.txt.然后按照一样的步骤提交。

输入命令:

git log

 

可以看到我们两次代码的提交信息(提交人,日期,message等)。此时我们使用gitbash自带的图形显示工具

输入命令就能显示

gitk

 

可以看到当前分支master(git默认的主分支)指向第二次提交。

此时小王提交本地分支到远程仓库的master分支。(注意:需要关闭gitk工具,才能再次输入命令)

git push origin master

三,小李加入团队并行开发

小李被hr招聘进来,和小王一起开发。他在本地克隆仓库,创建文件li_01.txt和文件li_02.txt。并进行了两次提交。使用

 

我们可以看到小李克隆的项目包含了小王的所有版本信息。这很好理解,因为小李是基于小王的版本克隆的。

接下来看下小李的git关系图。同意输入命令

gitk

 

在小李的版本库上,分支指向小李的最新提交。黄色节点是指当前版本指向。

小李开发了一段时间,把当前的代码提交到远程仓库后就离职了。

git push origin master

四,小王提交代码到远程仓库

小王在小李的开发期间,自己也在不断开发。也开发了wang_3.txt这个文件,并且提交到本地的版本库中(commit命令)。此时小王的提交历史只有他自己开发的三个。

 

版本关系如如下。

 

我们可以看到,小王和小李在各自的工作区中都是直线向前的。对于每个人所在的直线,git上称为泳道。

此时小王也提交了代码到远程仓库上。

git push origin master

 

提示提交被拒绝,原因是小李在小王提交之前有更新版本库,所以小王必须将远程版本库与本地更新,即pull远程项目,此机制是保证本地提交之前和远程版本库是一致的,这样就不会覆盖他人的修改了。

拉取远程代码命令:

git pull origin master

再执行提交代码

git push origin master

 

代码提交成功。

五,CTO小胡拉取项目验收

此时项目已开发结束,CTO小胡拉取项目

 

可以看到小胡的本地有了小李和小王两个人的开发成成果

 

此时打开gitk,观察版本的图形变化

 

可以看到我们的版本变化。

这是基本的分析。其实万变不离其中,再复杂的图谱也是围绕着本质来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值