Git学习(二)分支

这次我们来学习一下git里的分支,它Todo,建议先用learngitbranching实操学习,在脑中建立一个实际的印象,再看blog

0x01 新建分支

1
2
3
4
5
6
7
8
$ git branch hexo # 新建一个分支hexo

$
git branch # 查看分支
hexo
* master

$
git checkout hexo # 将指针指向hexo分支
Switched to branch 'hexo'
  • 新建分支XXX同时将HEAD指针修改到XXX可以用git checkout -b hexo完成

这里我们增加文件y.txt,再在文件x.txt后增添几个字符,在hexo分支下加入仓库并提交

可看到

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ll
total 1
-rw-r--r-- 1 Shawn 197121 63 2月 8 15:52 x.txt
-rw-r--r-- 1 Shawn 197121 0 2月 8 16:00 y.txt

$
git log # 使用git log能够查看提交历史
commit 1405868ee69c9b682e9caf0c0b182d297cea084e (HEAD -> hexo)
Author: peaceSh4wn <i@sina.com>
Date: Sat Feb 8 16:00:38 2020 +0800

add y.txt

commit 116d8b76b22bec10dc0826c1181002ac4930f5b1
Author: peaceSh4wn <i@sina.com>
Date: Sat Feb 8 15:55:02 2020 +0800

ok

commit b4d9c9a9a72c8eaeb7bf596e050772d19cca64c8 (master)
Author: peaceSh4wn <i@sina.com>
Date: Sat Feb 8 15:35:08 2020 +0800

first commit

0x02 合并分支

我们切换回master

1
2
$ git checkout master
Switched to branch 'master'

这里注意一下是谁合并到谁的逻辑:

master把hexo合并过来 == hexo变成现在master的一个<同一结点>or<父节点>

0x21 hexo创建后,master没有再次提交(同一节点)

将hexo分支的工作成果合并到master分支上,也就是git中的Fast-forward模式,合并速度非常快

因为这里master之后没有commit,所以直接是master指针移动到hexo指针所指位置,指向同一结点

1
2
3
4
5
6
7
$ git merge hexo
Updating b4d9c9a..1405868
Fast-forward
x.txt | 2 +-
y.txt | 0
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 y.txt

0x22 hexo创建后,master有提交(父节点)

hexo变成master的一个父节点

图片3

0x03 删除分支

完成合并之后我们就可以删除hexo分支了

1
2
3
$ git branch -d hexo # -d 表示删除

Deleted branch dev (was b17d20e).

0x04 速查

1
2
3
4
5
6
git branch
git branch <name>
git checkout <name> or git switch <name>
git checkout -b <name> or git switch -c <name>
git merge <name>
git branch -d <name>

0xXX 学习资源

廖雪峰git

git log详解


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!