GIT学习----第十一节:创建与合并分支

学习目的

  1. 如何查询分支列表?
  2. 如何创建分支?
  3. 如何切换分支?
  4. 如何将分支进行合并?
  5. 如何将分支进行删除?

master分支

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。

创建分支

创建分支git-study

1
$ git branch git-study

查看当前分支

1
2
3
$ git branch
git-study
* master

切换分支到git-study

1
2
$ git checkout git-study
Switched to branch 'git-study'

再次查看当前分支

1
2
3
$ git branch
* git-study
master

有两次查看分支:得到结论git branch命令会列出所有分支,当前分支前面会标一个*号。

修改readme.txt文件查看状态

  1. 修改readme.txt文件查看状态
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ git status
    On branch git-study
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)

    modified: readme.txt

    no changes added to commit (use "git add" and/or "git commit -a")

可以看出在git-study分支,readme.txt文件被修改!

  1. 添加文件并提交文件
1
2
3
4
5
1. $ git add readme.txt

2. $ git commit -m "提交分支git-study测试"
[git-study c2799ed] 提交分支git-study测试
1 file changed, 2 insertions(+), 1 deletion(-)
  1. 切换回master分支
1
2
3
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
  1. 创建并切换分支的综合命令
    1
    2
    $ git checkout -b study
    Switched to a new branch 'study'

合并分支

  1. 查看master分支readme.txt文件
1
2
3
4
5
6
7
8
9
10
11
$ cat readme.txt
Git is a version control system.
Git is free software.
Git is a distributed version control system.
Git is free software.
添加一行测试工作区、暂存区、分支。
cat 命令测试。
测试修改文件后各区状态!
测试git diff,查看工作区和分支文件的修改情况!
再次测试git diff对比工作区和版本库最新版本的区别。
测试撤销修改!
  1. 合并master分支和git-study分支
1
2
3
4
5
$ git merge git-study
Updating c8e9e50..c2799ed
Fast-forward
readme.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
  1. git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。

  1. 注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

  1. 当然,也不是每次合并都能Fast-forward,我们后面会讲其他方式的合并。
  1. 再次查询master分支readme.txt文件
1
2
3
4
5
6
7
8
9
10
11
12
$ cat readme.txt
Git is a version control system.
Git is free software.
Git is a distributed version control system.
Git is free software.
添加一行测试工作区、暂存区、分支。
cat 命令测试。
测试修改文件后各区状态!
测试git diff,查看工作区和分支文件的修改情况!
再次测试git diff对比工作区和版本库最新版本的区别。
测试撤销修改!
Creating a new branch is quick.

合并完成!合并完成!合并完成!

删除分支git-study

  1. 查看分支列表

    1
    2
    3
    $ git branch
    git-study
    * master
  2. 删除git-study分支

    1
    2
    $ git branch -d git-study
    Deleted branch git-study (was c2799ed).
  3. 再次查询分支列表

    1
    2
    $ git branch
    * master

总结

  1. 查看分支列表命令:git branch
  2. 创建分支命令:git branch
  3. 切换分支命令:git checkout
  4. 创建+切换分支命令:git checkout -b
  5. 合并分支命令:git merge
  6. 删除分支命令:git branch -d

其他

QQ交流群: 264303060

QQ交流群

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表