git实战(八):详细图解

混江龙づ霸主 提交于 2019-11-30 12:11:04

这样一个场景,同事B来了,他说我要开发,不让开发就不爽,那么怎么做呢,打是肯定舍不得的,让他拉个代码分支啊,且看操作一:先通过命令:git clone ssh://账号@ip:/目录/文件名,把文件从服务器上拉下来
git22.png 
这个时候指向图是这样的
git25.png 

二:切换分支:git checkout -b feature/002【用过svn的童鞋对整个应该眼熟】
git23.png 

三:我们看一下指向
git24.png 

通过上图我们看到,head指向了feature/002快照版本
这个时候指向图是这样的
git26.png 
这个时候本地的feature/002版本跟master是保持一致的
四:做个小实验
然后我们进行一个操作看看这个分支到底是怎么个回事,我们来做这样一个实验,首先我们在feature/002环境下修改代码,如下 git27.png 
然后切换到master分支对Test2.java进行提交【git add --all .,git commit -m '……'】,之后我们切换到feature/002环境下,我们发现我们加的一行代码没有了
我们分别在feature/002和master分支执行git log,看下git日志
git28.png 


git29.png 


通过上图,我们清晰的看到feature/002还停留在之前的版本,而master分支又走了一个版本,master比feature/002新,其实这是我们不太愿意看到的
git30.png 

当git切换到master,head就指向master,git切换到feature/002,head就指向/feature/002

五:修改分支
同事B根据需求对分支的Test1.java进行修改
git31.png 

日志如下
git32.png 

然后提交,提交之后分支情况如下
git33.png 


六:版本合并
我们发现master和feature/002两个分支都各自有了新的版本,但最终数据是需要一致的,于是我们做一下合并操作
操作命令:git merge feature/002
git34.png 

然后我们看一下操作日志
git36.png 

下载 (19.1 KB)

2018-11-8 21:38



这个时候版本如下
git35.png 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!