直播软件 app 开发助力企业在竞争中脱颖而出的关键策略
682
2022-11-28
git本地分支管理
文章目录
一、master分支没有改变,合并其他分支二、master分支有改变,合并其他分支
作为开发人员,我们应该尽可能多地建立分支,在分支上进行开发,功能测试稳定后,再将分支上地代码合并到指定的分支
git branch:查看本地分支git branch -r:查看remote分支git remote:查看remote分支git branch -a:查看本地分支以及remote分支
小张在Windows操作,发现冒泡排序的效率太低,希望能改成快速排序。小张可以直接在本地master分支上进行代码修改,为了避免自己修改了master,然后push的时候和别人产生冲突,小张决定建立一个新的分支,在新分支上写自己的代码
git branch -vv:查看本地和远程分支的对应关系
一、master分支没有改变,合并其他分支
git checkout -b 分支名:创建新分支并切换
小张创建新分支sortdev,并切换到sortdev分支
小张这时已经工作在本地的sortdev分支,git pull同步远程和本地的分支
报错了,查看一下本地分支和远程分支的对应关系(这里指定对应关系即可pull,比如git pull origin master:sortdev)
我们发现本地的sortdev分支并没有远程的分支与之对应,因为我们只在本地创建了sortdev,并没有指定远程的对应分支。而我们如果切换会本地的master分支,再次git pull就能成功,因为本地master分支和远程分支是有对应关系的
切换回master分支,git pull同步代码后,切换回sortdev分支
小张将冒泡排序修改为快速排序后
修改代码后,从本地的sortdev分支push到远程的master分支
这样是无法完成的,本地的sortdev和远程分支没有对应关系,而输入的git push origin master的意思是把本地的master分支推送到远程的master,但是我们的修改是在sortdev分支上完成的。需要用本地的master分支merge本地的sortdev分支,然后从本地master分支push到远程master分支
git merge 分支名:将指定分支的修改合并到本地分支
其实在master分支merge后,本地仓库就已经是合并sortdev后的结果了,由于在sortdev分支已经进行了add、commit,merge后不需要再在master上进行add、commit了,直接push即可
其实就是这样:我们在本地新建分支后,新建一个分支,然后在新的分支上修改代码,修改测试完成后再merge到master分支,然后从本地的master分支push
git branch -d 分支名:删除分支,如果要删除分支上还有修改没有合并到当前分支,小写的d不能删除,需要用大写的D强制删除
除了切换到master分支再push,还可以指定push到哪个远程分支
二、master分支有改变,合并其他分支
上一小节把sortdev01分支合并到master分支上时一切顺利,是因为sortdev01分支在合并的时候,
master分支没有做过任何改动,看图:
实际上有可能发生这样的情况:
啊亮从master分支创建了一个新的分支sortdev01,进行代码开发测试,提交小张更新了master分支上的代码啊亮切换分支到master,git pull同步远程仓库master主干的最新代码,发现有变化啊亮直接git merge sortdev01就发生冲突了
实际操作如下
通过git diff命令查看一下README.MD文件的冲突,在master主干上手动解决冲突,并提交远程仓库
然后再通过git add、git commit、git push把修改推送到远程origin仓库的master主干分支上,冲突就解决完了
总结:
查看分支: git branch创建分支: git branch切换分支: git checkout创建+切换分支: git checkout -b合并某分支到当前分支: git merge删除本地分支: git branch -d 如果分支上有更新没有merge,git会提示你merge,强制删除用-D本地分支推送到远程分支:git push <远程仓库名> <本地分支名>:<远程分支名>远程分支合并到本地分支:git pull <远程仓库名> <远程分支名>:<本地分支名>
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~