git reset --hard_Git紧急自救简易指南(二)——版本的游历
這一篇重點(diǎn)說說 Git版本的游歷,想要在不同版本之間操作,這個(gè)就要涉及到git一個(gè)非常重要的部分——日志管理
查看歷史記錄
git log
此命令用來查看版本的歷史記錄
比如說我這里添加了5條記錄
由于歷史記錄比較多,一屏都顯示不完,那么我們可以用
git log --pretty=oneline
以一行的形式,格式化顯示日志
這樣看著就清爽多了
記不住pretty這么長的參數(shù),還有個(gè)更簡潔的命令
git log --oneline
這個(gè)命令更簡潔一些,當(dāng)然顯示也就更簡潔一些,它只會(huì)顯示部分hash值
日志相關(guān)的還有個(gè)重要的命令需要記一下
git reflog
這個(gè)命令顯示出了head指針的變化
關(guān)于提交日志,還有一些小細(xì)節(jié)的東西
比如說查看每次提交都改了哪些文件,每個(gè)文件都改了哪些內(nèi)容
又或者說專門查看某個(gè)文件被改了多少次,每次又改了哪些內(nèi)容
這些我覺得在命令行里查看太不友好了,這些就交給SVN公司出的git工具來做吧,簡單愉快。
下面要說就是版本的游歷,版本前進(jìn)和后退的本質(zhì)就是移動(dòng)head指針的位置。
版本后退
git reset --hard hash值
比如說我們添加想添加1,2,3,4,5了,我們要把這些改動(dòng)都撤回來,那么我們只需要
git reset --hard b3dd686,此時(shí)我們的文件就還原成最原來的模樣了。
head指針也指回第一項(xiàng)了
版本前進(jìn)
git reset --hard hash值
既然可以后退,當(dāng)然還可以前進(jìn),版本的前進(jìn)還是這個(gè)命令,帶上相應(yīng)的hash值
git reset --hard 3eae1f6,我們的文件又回來啦。
再偷偷的瞄一眼head指針,發(fā)現(xiàn)指針也指回來了
reset參數(shù)
git reset這個(gè)命令就介紹到這兒了,簡而來說reset就是重置,也就是把版本重置到任何時(shí)期。
細(xì)心的同學(xué)注意到了,我們一般都帶上head參數(shù),那hard參數(shù)是啥呢?
--hard
1)在代碼庫中移動(dòng)head指針
2)重置暫存區(qū)
3)重置工作區(qū)
--mixed
1)在代碼庫中移動(dòng)head指針
2)重置暫存區(qū)
--soft
1)在代碼庫中移動(dòng)head指針
PS:
--hard參數(shù)也是我們最常用的參數(shù)
看完了上面的介紹,那么大家也可以理解了git中一個(gè)非常常用的命令:
git reset --hard HEAD
這個(gè)命令的作用就是把版本回退到HEAD指針指向的版本(絕大多數(shù)情況下呢,HEAD指針指向的是當(dāng)前版本庫的最新內(nèi)容)。
PPS:
git reset --hard HEAD^
這個(gè)命令大家也可能用到,一個(gè)異或符號(hào)表示回到上一次提交,兩個(gè)異或符號(hào)表示回到上兩次提交。
總結(jié)
以上是生活随笔為你收集整理的git reset --hard_Git紧急自救简易指南(二)——版本的游历的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的tkinter编写计算器_
- 下一篇: es6 数组合并_对比 ES5,学习 E