Git分支操作步骤
学习操作Git分支,具体如下:
- 查看分支
- 创建分支
- 切换分支
- 合并分支
- 解决分支的冲突
方案: Git支持按功能模块,时间,版本等标准创建分支; 分支可以让开发分多条主线同时进行,每条主线互不影响,分支效果如图所示
常见的分支规范如下:
MASTER分支(MASTER是主分支,是代码的核心)
DEVELOP分支(DEVELOP最新开发成果的分支)
RELEASE分支(为发布新产品设置的分支)
HOTFIX分支(为了修复软件BUG缺陷的分支)
FEATURE分支(为开发新功能设置的分支)
拓扑图:
一, 查看并创建分支
1. 查看当前分支
[root@web2 project]# git status
# On branch master
nothing to commit, working directory clean
[root@web2 project]# git branch -v
* master 0dc2b76 delete init.txt
2. 创建分支
[root@web2 project]# git branch hotfix
[root@web2 project]# git branch feature
[root@web2 project]# git branch -v
feature 0dc2b76 delete init.txt
hotfix 0dc2b76 delete init.txt
* master 0dc2b76 delete init.txt
二, 切换与合并分支
1. 切换分支
[root@web2 project]# git checkout hotfix
[root@web2 project]# git branch -v
feature 0dc2b76 delete init.txt
* hotfix 0dc2b76 delete init.txt
master 0dc2b76 delete init.txt
2. 在新的分支上可以继续进行数据的增删改查
[root@web2 project]# echo "fix a bug" >> new.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "fix a bug"
3.将hotfix修改的数据合并到master分支
注意,合并前必须要先切换到master分支,然后再执行merge命令
[root@web2 project]# git checkout master
[root@web2 project]# cat new.txt #默认master分支中没有hotfix分支中的数据
[root@web2 project]# git merge hotfix
Updating 0dc2b76..5b4a755
Fast-forward
new.txt | 1 ++
1 file changed, 1 insertions(+)
4. 将所有本地修改提交远程服务器
[root@web2 project]# git push
三, 解决版本分支的冲突问题
1. 在不同分支中修改相同文件的相同行数据,模拟数据冲突
[root@web2 project]# git checkout hotfix
[root@web2 project]# echo "AAA" > a.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "add a.txt by hotfix"
[root@web2 project]# git checkout master
[root@web2 project]# echo "BBB" > a.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "add a.txt by master" #合并会报错如下:
自动合并 a.txt
冲突(添加/添加):合并冲突于 a.txt
自动合并失败,修正冲突然后提交修正的结果。
2. 查看有冲突的文件内容,修改文件为最终版本的数据,解决冲突
[root@web2 project]# cat a.txt #该文件中包含有冲突的内容
<<<<<<< HEAD
BBB
=======
AAA
>>>>>>> hotfix
[root@web2 project]# vim a.txt #修改该文件,为最终需要的数据,解决冲突
BBB
[root@web2 project]# git add .
[root@web2 project]# git commit -m "resolved"
四, 总结分支指针与HEAD指针的关系
- 创建分支的本质是在当前提交上创建一个可以移动的指针
- 那如何判断当前分支呢?答案是根据HEAD这个特殊指针
- 分支操作流程如图-5,图-6,图-7,图-8,图-9所示
结束.
最新文章
- CSS使用position定位后导致元素浮动
- Oracle子查询(嵌套查询)
- nslookup基础用法
- android——屏幕适配大全(转载)
- 【LeetCode练习题】Evaluate Reverse Polish Notation
- 解决ie6里png图片透明变白色bug
- ROS开发文档
- JSTL解析——005——core标签库04
- opencart配置
- mysql 索引对于select速度提升作用实验
- kafka使用场景
- html加载和解析流程
- Java-反射机制学习
- Nginx处理请求过程
- [20180630]truncate table的另类恢复2.txt
- 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)
- daay04流程控制之for循环
- 最短路径Dijkstra matlab
- python内置模块
- VBA 打开带密码的文件