1.git回滚历史版本
git checkout -b name-of-new-branch 169d2dc
这样,Git 的活动分支会切换到 name-of-new-branch
这个分支上,而它的内容与 169d2dc
这个分支一致。git
注意:SHA1 的散列值有 40 个字母,至关长。因此 Git 容许咱们在不引发歧义的状况下,使用散列值的前几位做为缩写。sql
提示:你也能够用 git branch name-of-new-branch 169d2dc
来建立一个历史分支,而不切换到该分支。shell
大多数时候,咱们可能只须要对某一个文件作细小的修补,所以只 checkout 该文件就好了,并不须要操做整个 commit 或分支。spa
上一节咱们介绍了如何将某个历史版本完整地 checkout 到工做区。实际上,咱们只须要在上一节的命令以后加上须要 checkout 的文件便可。code
git reset
回退项目版本
能够回退到任意已经提交过的版本。已 add
/ commit
但未 push
的文件也适用。blog
命令以下:hash
git reset --hard [commit-hashcode] # [commit-hashcode]是某个 commit 的哈希值,能够用 git log 查看
git clean -d -fx ""
其中
x -----删除忽略文件已经对git来讲不识别的文件
d -----删除未被添加到git的路径中的文件
f -----强制运行
git checkout <sha1-of-a-commit> </path/to/your/file>
固然,有时候你须要将某个文件的历史版本 checkout 出来,并以一个新的名字保存。这时候能够这么作:it
git checkout <sha1-of-a-commit>:</path/to/your/file> </new/name/of/the/file>