Git分支操作步骤

学习操作Git分支,具体如下:

- 查看分支

- 创建分支

- 切换分支

- 合并分支

- 解决分支的冲突

方案: Git支持按功能模块,时间,版本等标准创建分支; 分支可以让开发分多条主线同时进行,每条主线互不影响,分支效果如图所示

常见的分支规范如下:

MASTER分支(MASTER是主分支,是代码的核心)

DEVELOP分支(DEVELOP最新开发成果的分支)

扫描二维码关注公众号,回复: 6782881 查看本文章

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所示

结束.

猜你喜欢

转载自www.cnblogs.com/liusingbon/p/11146246.html