Head、master 与 branch
head 、master 、branch 都是与 Git 分支有关的概念
使用 git log
查看分支有关信息[外链图片转存失败(img-OaIhe7LD-1564988950498)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1564379855877.png)]
解释 :
- commit 后面的括号中的 HEAD -> master, origin/master,prigin/HEAD 是指向这个分支的几个引用
- HEAD 是一个永远指向当前 commit 的引用
- branch 也是一种 commit 的引用。而 HEAD 可以直接指向 commit 引用,也可以通过指向分支从而间接指向 commit 引用。
使用 git branch
来创建分支
git branch feature1
解释: feature 为新建的分支,此时如果 feature1 分支上进行一次 commit, master 分支上进行一次 commmit,这两个分支的分离就会更加明显了。
使用 git checkoout
来切换分支
git checkout feature1
解释:
- HEAD 指针移动到了 feature 上面,之前说过 HEAD 指针永远指向当前的 commit
- 可以直接使用
git checkout -b feature1
来合并git branch feature1
,git checkout feature1
这两个操作 - 在切换到新的 branch 之后, 再次 commit 时 HEAD 就会带着新的 branch 移动了
使用 git branch -d
来删除分支
git branch -d feature1
解释:
- HEAD 指向的 branch 不能删除。如果要删除 HEAD 指向的分支,需要用 checkout 把 HEAD 指向别的地方
- 删除 branch 的操作只是删除指向这个branch 的引用。Git 会在一段时间内删除那些没有被引用的 branch
- 处于安全考虑,没有被合并到 master 过的 branch 在删除的时候会失败。如果真的要删除这个 branch,可以使用
git branch -D
(把 -d 换成 -D)就能删除了。
的要删除这个 branch,可以使用 git branch -D
(把 -d 换成 -D)就能删除了。