GIT之分支管理

分支管理

一、分支推进

  • 主分支

    单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动。

  • 子分支

    • 当切换到子分支的时候,HEAD 则指向子分支的节点。

    • 在子分支上commit提交,则子分支到下一个节点,主分支不变。

    • 切换到主分支上,HEAD 则指向主分支。

    • 当主分支合并子分支后,并提交,HEAD依然指向主分支并到下一节点。

    • 当整个项目结束后,只保留主分支

二、创建分支

1
2
3
4
5
# 第一种方式 创建dev分支  -b 创建并切换分支
$ git checkout -b dev
# 第二种方式
$ git branch dev # 创建dev分支,但没有切换分支
$ git checkout dev # 切换dev分支

三、查看分支

1
2
3
4
# * dev 表示当前在dev分支上
$ git branch
* dev 
  master

四、合并分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#切换到dev 分支
$ git checkout dev
# 创建一个文件
$ touch index.html
# 提交到工作区
$ git add index.html
# 提交到版本库
$ git commit -m'[+ add index.html file]'
# 切换到master分支
$ git checkout master
# 查看当前文件
$ ls
# 合并分支
$ git merge dev
# 查看当前文件
$ ls
# 删除dev 分支
$ git branch -d dev 

五、解决冲突

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 切换到master分支
$ git checkout master
# 创建一个文件 readme.txt,写入 this is a readme.txt file
$ touch readme.txt
$ git add readme.txt
# 创建一个分支并切换
$ git checkout -b fuqiang
# 写入readme.txt 文件 testing is now ! 并保存
$ vim readme.txt
# 提交到分支fuqiang的工作区
$ git add readme.txt
# 提交到分支fuqiang的版本库
$ git commit -m'[* 制造bug]'
# 切换到master分支
$ git checkout master
# 合并分支
$ git merge fuqiang
# 合并出错,打开 readme.txt 把 >>> 之类的东西删除掉
# 提交到master分支的工作区
$ git add readme.txt
# 提交到master分支的版本库中
$ git commit -m'[+ add readme.txt file]' 
posted @ 2019-05-27 22:32  Python张梦书  阅读(342)  评论(0编辑  收藏  举报