git版本切换技巧
git checkout 分支名/版本名
//分离出head指针
git chekout 版本名
//实际移动的是head指针,让head指针指向前一个版本
git checkout master^
//head指针默认指向当前分支,指向版本的操作是head指针在做
head -> master -> c1
//分离后,head指向c2版本
git checkout c2
head -> c2
master -> c1
//当head与master同一指向时,让head指针向前一个移动一个版本
git checkout master^
head -> c2
master -> c1
让分支移动
git branch -f 分支名 版本号
//master指针移动到HEAD指针指向的版本往前移3个版本
git branch -f master HEAD^3
git撤销变更
git reset HEAD~1
//让master分支回退到c1这个版本
c0 - c1 - c2
//将撤销更改分享给别人
git revert HEAD
//master指向c2',这与c1的状态是相同的
c0 - c1 - c2 - c2'