git版本控制
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD
指针,当你回退版本的时候,Git仅仅是把HEAD从当前版本指向回退的版本
1.修改了多次版本内容并提交 git add readme.txt(readme.txt为更改的文件名)、 $ git commit -m "append GPL"(-m "append GPL"为注释)
2.$ git log或
$ git log --pretty=oneline
#查看历史版本记录,按更新时间倒叙排列,最新更改的在最上面。在Git中,用
HEAD
表示当前版本,也就是最新的提交的,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file
3.$ git reset --hard HEAD^ #把当前版本回退到上一个版本
4.$ cat readme.txt #查看当前版本内容
5.$ git reset --hard 1094a #
回到之前最新版本(1094a为版本commit_id)
6.$ git reflog #记录每次命令,防止忘记commit_id时可用此命令查看
总结:
-
HEAD
指向的版本是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。 -
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。