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>