Git版本控制系统-分支介绍及操作(六)
【摘要】
git分支介绍
首先项目建立,会有主干master,每一个开发人员从主干上拉取代码到本地,形成一个分支,一个开发可以使用无数个分支,首先在自己的分支上修改代码,当代码写的没问题后,要先将master上的...
git分支介绍
首先项目建立,会有主干master,每一个开发人员从主干上拉取代码到本地,形成一个分支,一个开发可以使用无数个分支,首先在自己的分支上修改代码,当代码写的没问题后,要先将master上的代码拉到分支上,与分支进行测试后没问题,在将分支的代码与maste代码进行合并。
1.git分支操作
1.1.创建分支
git branch 分支名
git branch -d 分支名
1)使用git branch创一个分支
[root@192 ~]# cd /data_git/
[root@192 data_git]# git branch bug
2)查看所有分支,带*号表示当前在哪一个分支
[root@192 data_git]# git branch
bug
* master
3)删除一个分支
[root@192 data_git]# git branch -d bug
已删除分支 bug(曾为 a5fe3d8)。
1.2.切换分支
1)进入刚刚创建的bug分支
[root@192 data_git]# git checkout bug
切换到分支 'bug'
[root@192 data_git]# git branch
* bug
master
bug分支会记录有master上的所有文件内容
1.3.在分支上创建新功能并提交至本地仓库
[root@192 data_git]# vim file1
[root@192 data_git]# cat file1
jiangxl
sadj
sdjl;a
akjskl
dsjj
sdalk
sdajlkl
[root@192 data_git]# git add .
[root@192 data_git]# git commit -m "修改了file1"
[bug 8a57ed8] 修改了file1
1 file changed, 3 insertions(+)
1.4.分支代码合并
合并分支首先要将master分支拉取到本地,测试没问题后再将matser代码与分支进行合并
合并分支,基于dev分支,将master分支的内容合并至dev分支,在dev上进行测试功能
要时刻保持与master上的代码是一致的
合并代码语法:
master合并bug就需要在master分支执行合并命令
bug合并master就需要在bug分支执行命令
1)当前分支
[root@192 data_git]# git branch
* bug
master
2)在bug分支合并master代码
[root@192 data_git]# git merge master
Already up-to-date. #此输出表示master无最新代码
3)在master分支合并bug分支,首先切回到master,在使用merge命令进行合并
[root@192 data_git]# git checkout master
切换到分支 'master'
[root@192 data_git]# git merge bug
更新 a5fe3d8..8a57ed8
Fast-forward
file1 | 3 +++
1 file changed, 3 insertions(+) 1个文件改动,3行插入
1.5.分支合并时出现冲突
分支合并冲突会出现在两个开发同时修改同一个代码文件的同一行,提交时会提示合并冲突
1)首先进入bug分支新建一个file7并提交到本地仓库
[root@192 data_git]# git branch
* bug
master
[root@192 data_git]# vim file7
[root@192 data_git]# cat file7
jiangxl.com
docx.jiangxl.com
www.jiangxl.com
[root@192 data_git]# git add .
[root@192 data_git]# git commit -m "file7--3hang"
[bug 884a629] file7--3hang
2 files changed, 3 insertions(+), 1 deletion(-)
delete mode 100644 file4.txt
create mode 100644 file7
2)切换到master也建一个file7并提交
[root@192 data_git]# git checkout master
切换到分支 'master'
[root@192 data_git]# vim file7
[root@192 data_git]# cat file7
jiangxl
jiangxl
jiangxl
jiangxl
[root@192 data_git]# git add .
[root@192 data_git]# git commit -m "file7"
[master 2bf2d7f] file7
1 file changed, 4 insertions(+)
create mode 100644 file7
3)切换到bug分支在进行合并会报错冲突
[root@192 data_git]# git checkout bug
切换到分支 'bug'
[root@192 data_git]# git merge master
自动合并 file7
冲突(添加/添加):合并冲突于 file7
自动合并失败,修正冲突然后提交修正的结果。
4)解决冲突,与对应的开发协商好保留哪些代码,如果都保留则把1/5/10行删掉
[root@192 data_git]# vim file7
<<<<<<< HEAD #当前分支的
jiangxl.com
docx.jiangxl.com
www.jiangxl.com
=======
jiangxl
jiangxl
jiangxl
jiangxl
>>>>>>> master #master分支的
修改完文件重新提交至本地仓库
[root@192 data_git]# git add .
[root@192 data_git]# git commit -m "merge解决"
5)切回到master进行合并
[root@192 data_git]# git checkout master
切换到分支 'master'
[root@192 data_git]# git merge bug
更新 22fddd3..e7821a1
Fast-forward
file8 | 3 +++
1 file changed, 3 insertions(+)
6)查看文件,已经合并
[root@192 data_git]# cat file7
jiangxl.com
docx.jiangxl.com
www.jiangxl.com
jiangxl
jiangxl
jiangxl
jiangxl
文章来源: jiangxl.blog.csdn.net,作者:Jiangxl~,版权归原作者所有,如需转载,请联系作者。
原文链接:jiangxl.blog.csdn.net/article/details/109855217
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)