您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

【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,观察版本的图形变化

 

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

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


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进