是五月呀!

git从某一次提交上创建分支

从某一次提交上创建分支使用如下命令:

1
git branch <branch name> <start point>

平时我们是在当前分支的最新代码上迁出新分支,那么可以忽略后面的<start point>

1
git branch new_branch

假如我们想在某一次提交的基础上迁出新分支,那么就需要使用<start point>了,写上该提交的SHA值。

举例:
我们已经有了三次提交,提交历史如下:

1
2
3
4
~/git/ [master] git l
* 666898f (HEAD -> master) c; - damon4u, 2 seconds ago
* e713719 b - damon4u, 20 seconds ago
* 36acecc a - damon4u, 30 seconds ago

假如我们想从b上面迁出新分支,可以这么做:

1
 ~/git/ [master] git branch new_branch e713719

用b提交的SHA做参数。

1
2
3
4
5
6
7
8
9
 ~/git/ [master] git branch
* master
new_branch
 ~/git/ [master] git checkout new_branch
Switched to branch 'new_branch'
 ~/git/ [new_branch] git l
* 666898f (master) c; - damon4u, 3 minutes ago
* e713719 (HEAD -> new_branch) b - damon4u, 4 minutes ago
* 36acecc a - damon4u, 4 minutes ago

发现,HEAD的指向b提交的。