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

结束.

Git分支操作步骤的更多相关文章

  1. svn与git区别简介,git分支操作在mac客户端soureTree和使用命令行如何实现

    svn与git区别简介: 性能方面(经过实践的) svn:下载速度慢,因为它其中的源文件太多,并且在show log日志的时候每次都需要去服务器拉取,速度很慢 git:下载速度快,并且git clon ...

  2. GIT分支操作常用命令

    切换分支:git checkout name 撤销修改:git checkout -- file 删除文件:git rm file 查看状态:git status 添加记录:git add file ...

  3. git 分支操作

    查看git分支: git fetch刷新git git branch  -a 列出所有的分支 git checkout origin/要切换的分支 git branch -r 查看远程分支 git c ...

  4. Git分支操作

    1.创建分支 git branch <分支名> 2.切换分支 git checkout <分支名> 该语句和上一个语句可以和起来用一个语句表示: git checkout -b ...

  5. 3.git 分支操作

    1.git branch 查看分支 git branch -a  查看远程仓库分支 结果显示,只有一个master分支,项目刚开始默认只有一个分支,名字叫做master,一般都不会直接在master上 ...

  6. git工作操作步骤

    上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...

  7. git分支操作笔记

    git常用的基本操作 远程仓库只有一个master分支,创建dev分支并上传 # 创建本地dev分支 git checkout -b dev master # 推送dev分支到远程仓库 git pus ...

  8. git分支操作2

    1.创建分支 git branch <分支名>           会自动复制主分支上的代码. 2.查看当前分支 git branch -v 3.切换分支 git checkout < ...

  9. Git分支操作——查看、新建、删除、提交、合并

    查看分支 1 查看本地分支 $ git branch   2 查看远程分支 $ git branch -r     创建分支 1 创建本地分支 $ git branch branchName 2 切换 ...

随机推荐

  1. Hello Kotlin! Kotlin学习资料

    今天谷歌搞了条大新闻.宣布Kotlin成为android开发的一级(One Class)语言,这说明谷歌是被甲骨文恶心坏了,打算一步步脱离掉java或者说是甲骨文公司的束缚了.原先网上大家还琢磨着会不 ...

  2. 移动端与PHP服务端接口通信流程设计(基础版)

    转载自:http://blog.snsgou.com/post-766.html --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的 ...

  3. Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  4. 图片上传预览转压缩并转base64详解(dShowImg64.js)

    hello,大家好,游戏开始了,欢迎大家收看这一期的讲解.本次的内容是图片的上传预览.最后发源码链接.废话不多说,先上图. 待上传图像 点击蓝色框内,pc可以选择文件,移动端选择拍照或选择图片进行上传 ...

  5. ES6 二进制和八进制字面量

    ES6 支持二进制和八进制的字面量,通过在数字前面添加 0o 或者 0O 即可将其转换为二进制值: let oValue = 0o10; console.log(oValue); // 8 let b ...

  6. 【后台管理系统】—— Ant Design Pro页面相关(一)

    一.List列表形式 import React, { PureComponent } from 'react'; import { findDOMNode } from 'react-dom'; im ...

  7. PHP 几种常用框架的区别

    工作中使用的是TP框架,在工作之余接触了一下Yii框架和Laravel框架,为了更好的了解几种框架,此处总结一下几种框架各自的优势及缺点. 一.CI框架 CI框架是一个简单快速的PHP MVC轻量级框 ...

  8. ajax传递json参数

    var pros = []; for(var i = 1; i <= 2; i++) { var obj = {}; obj.id = i; obj.age = i*20; pros = pro ...

  9. 查看在linux中下载的图片

    1.安装   yum install lrzsz -y 2.找到文件所在的位置选中之后 3.点击那个蓝色的框框里面有一个 用ZMODEM下载 4.选择要保存的位置就可以查看了

  10. Denali NAND FLASH控制器的验证

    NAND FLASH的结构如图所示: Denali NAND FLASH控制器模块提供了从AHB总线到外部NAND FLASH存储器芯片IO管脚的访问功能.主要技术特性包括: 1.标准32位AHB总线 ...