Git Pearl 01

在使用git的时候,经常遇到这种情况:

  1. 我们发布了一个版本b1
  2. 继续为产品增加新特性,去掉不必要的功能,处理之后遇到的bug等
  3. 突然在b1中发现一个非常严重的bug,这个bug已经在步骤2中做了修正,但我们急需将这个补丁应用到b1版本上。同时,我们不希望将其它的特性和bug修复应用到b1
  4. 这时我们要将b1checkout出来,修正这个bug,然后发布一个基于b1的b2版本

我们知道想要从当前分支checkout出来一个分支使用命令:

git checkout -b name-of-new-branch

其实这个命令的完整版本是:

git checkout -b name-of-new-branch HEAD

所以,只需要将HEAD替换为目标版本的id即可:

git checkout -b name-of-new-branch 169d2dc