学习操作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所示

结束.

最新文章

  1. CSS使用position定位后导致元素浮动
  2. Oracle子查询(嵌套查询)
  3. nslookup基础用法
  4. android——屏幕适配大全(转载)
  5. 【LeetCode练习题】Evaluate Reverse Polish Notation
  6. 解决ie6里png图片透明变白色bug
  7. ROS开发文档
  8. JSTL解析——005——core标签库04
  9. opencart配置
  10. mysql 索引对于select速度提升作用实验
  11. kafka使用场景
  12. html加载和解析流程
  13. Java-反射机制学习
  14. Nginx处理请求过程
  15. [20180630]truncate table的另类恢复2.txt
  16. 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)
  17. daay04流程控制之for循环
  18. 最短路径Dijkstra matlab
  19. python内置模块
  20. VBA 打开带密码的文件

热门文章

  1. 记录redis 存放JSON字符串,在并发操作时读-改-写问题
  2. [CF1082G]Petya and Graph:最小割
  3. python-之基本语法
  4. java 线程池的创建方式
  5. sed的一些应用
  6. docker-dnsmasq使用
  7. vscode-常用插件介绍(10大插件)
  8. DRF的路由生成类的使用
  9. ubuntu 安装 rocketmq
  10. Appium-入门实例1