893-git分支版本控制命令

git分支版本控制命令

本地分支管理

【step 1】小张让啊亮给他写的冒泡排序进行一下优化,当一趟排完了,发现没有进行任何数据交换,那么就直接结束排序,啊亮想着最好不要在master分支修改代码,还是重新创建一个本地分支吧,写完代码测试好,我再合并到master主干分支上,然后再推送到远程代码仓库中,最为稳妥,master主干
分支代码干干净净,省的我改来改去,把原来好的代码改错了。
在这里插入图片描述
git checkout -b sortdev01就是创建一个新的本地分支sortdev01并切换到该分支,从上面的命令可以看到已经切换到sortdev01分支了,git checkout -b相当于是这两个命令(git branch sortdev01是创建分支,git checkout sortdev01是切换分支)的合并。

【step 2】啊亮在sortdev01分支上进行的代码修改,测试正确以后,可以切换到master分支上,然后通过git merge命令把sortdev01分支上的代码改动合并到master主干分支上,然后推送到远程的代码仓库当中,如下:
在这里插入图片描述
如果啊亮做完该任务后,不想要sortdev01分支了,可以通过git branch -d sortdev01删除该分支,所以git在本地仓库中可以让我们创建很多分支,我们可以在分支上瞎折腾,把功能开发测试好了,然后在合并到其它分支当中,git建议多创建使用分支,使用起来非常灵活。

实际上,啊亮还可以直接在他的sortdev01分支上,把代码推送到远程origin仓库的master分支,命令如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

合并分支冲突

上一小节把sortdev01分支合并到master分支上时一切顺利,是因为sortdev01分支在合并的时候,master分支没有做过任何改动,看图:
在这里插入图片描述
实际上有可能发生这样的情况:
1、啊亮从master分支创建了一个新的分支sortdev01,进行代码开发测试,提交
2、小张更新了master分支上的代码
3、 啊亮切换分支到master,git pull同步远程仓库master主干的最新代码,发现有变化
4、 啊亮直接git merge sortdev01就发生冲突了
在这里插入图片描述
在这里插入图片描述
通过git diff命令查看一下README.MD文件的冲突,在master主干上解决冲突,并提交远程仓库
在这里插入图片描述
然后再通过git add、git commit、git push把修改推送到远程origin仓库的master主干分支上,冲突就解决完了。

远程分支管理

我们在github上创建一个代码仓库,默认就拉了一个master主干分支,我们在master主干分支上开发了一期项目以后,再进行二期开发的时候,可以再拉一个dev分支出来,大家都在dev分支上开发,此时项目管理员可以把master分支的写权限关掉,因为一期功能开发验证完成,很稳定,此时可以拉取master代码,不能再push推送代码到master分支。

一般远程分支的创建都是由项目管理员来创建的,其它员工没有创建远程分支的权限,而且每一个远程分支的读写权限也都是由管理员来控制的。

【step 1】由王sir在github上创建一个dev分支,来继续开发新的功能
在这里插入图片描述
【step 2】小张在git bash上通过git pull更新仓库内容
在这里插入图片描述
【step 3】小张自己的git bash上创建了一个本地的localdev分支,注意在本地创建的分支,需要设置跟踪哪个远程分支(拉远程仓库的主干分支,默认就在本地创建了一个master分支,并追踪了远程的origin/master分支,但其它分支的追踪关系,就需要自己设置了),这样在localdev分支推送代码的时
候就简单了
在这里插入图片描述
可以看到本地master追踪远程的origin/master,本地localdev分支追踪远程的origin/dev分支,都有对应关系。

【step 4】小张在本地localdev分支修改代码,直接推送到远程origin/dev分支中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林林林ZEYU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值