Git版本控制系统-分支介绍及操作(六)
Git 操作 介绍 版本 分支 控制系统
2023-09-14 09:15:44 时间
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
相关文章
- Git配置和一些常用命令
- Git使用总结
- [Git] 写文章 史上最全文献检索、阅读及管理攻略
- [Git] 关于refs/for/ 和refs/heads/
- git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
- Git创建分支/GIT提交分支
- [Git] A better git process
- [Git] Use git add --patch for better commit history and mitigating bugs
- [Practical Git] Format commit history with git log arguments
- 【转】git 回滚操作
- Git分支管理策略
- ABAP git 客户端的简单介绍
- Git远程操作详解
- git-【四】撤销修改和删除文件操作
- 【问题解决】git 合并commit 请求报错:Cannot ‘fixup‘ without a previous commit
- FastAdmin 是如何利用 Git 管理插件代码的?
- Git知识总览(一) 从 git clone 和 git status 谈起
- Git知识总览(二) git常用命令概览
- git创建新的分支
- Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)
- Git可视化工具-idea插件使用
- 【Git技巧】第十篇 解决每次git clone都需要输入账号密码
- 【Git技巧】第九篇 git分支操作手把手教程(亲测演练)
- git 警告: LF will be replaced by CRLF in 解决办法