一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - 編程技術(shù) - 詳解git reset 加不加 --hard的區(qū)別

詳解git reset 加不加 --hard的區(qū)別

2020-08-30 14:06chenpuzhen 編程技術(shù)

這篇文章主要介紹了詳解git reset 加不加 --hard的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

通常我們提交代碼一般都是 git add ,git commit -m,   git push的這么個(gè)流程。添加到暫存區(qū),提交到git庫(kù)生成版本號(hào),push到遠(yuǎn)程倉(cāng)庫(kù)以供他人可以使用。這是一個(gè)完整的且非常順利的流程。但是往往實(shí)際開(kāi)發(fā)中并不是這么順利,總會(huì)出現(xiàn)這樣或那樣的問(wèn)題。

git reset就是當(dāng)我們提交了錯(cuò)誤的內(nèi)容后進(jìn)行回退使用的命令。

git reset 版本號(hào),就是回退到該版本號(hào)上。

通常我們使用

git reset head就是回退到當(dāng)前版本。git reset head^回退到上一版本

如我們git add 一個(gè)文件

詳解git reset 加不加 --hard的區(qū)別

這時(shí)我們發(fā)現(xiàn)添加了錯(cuò)誤的內(nèi)容,此時(shí)我們只是做了add 操作,就是將修改了內(nèi)容添加到了暫存區(qū),還沒(méi)有執(zhí)行commit,所以還沒(méi)有生成版本號(hào),當(dāng)前的版本號(hào)對(duì)應(yīng)的內(nèi)容,還是你add之前的內(nèi)容,所以我們只需要將代碼回退到當(dāng)前版本就行。

git reset head ,截圖中也有提示內(nèi)容 use git reset head <file> to unstage,我的理解就是去除掉添加到暫存區(qū)的內(nèi)容。

執(zhí)行命令后,我們?cè)倏纯串?dāng)前的git 狀態(tài),如圖:

詳解git reset 加不加 --hard的區(qū)別

查看狀態(tài),發(fā)現(xiàn)和我們修改了工作區(qū)的內(nèi)容,還沒(méi)有add時(shí)的狀態(tài)是一樣的了。

說(shuō)明git reset head操作只對(duì)暫存區(qū)起效果,不對(duì)工作區(qū)的內(nèi)容起效果。所以我們要想修改掉工作區(qū)的內(nèi)容還得繼續(xù)執(zhí)行命令進(jìn)行還原。根據(jù)上面的截圖提示,git add是添加,因?yàn)槲覀儼l(fā)現(xiàn)了錯(cuò)誤才回退的,所以肯定不能執(zhí)行這個(gè)了。

還有個(gè)命令提示:git checkout --<file> to discard changes in working directory這個(gè)意思就是下載某某文件,丟棄掉該文件在工作區(qū)的改變內(nèi)容。姑且就這么翻譯吧。就是把文件還原了,工作區(qū)的修改也沒(méi)了。我們執(zhí)行該命令查看狀態(tài),如圖:

詳解git reset 加不加 --hard的區(qū)別

此時(shí)你去看工作的文件修改的地方就會(huì)已經(jīng)沒(méi)有了,工作區(qū)文件也干凈了,算是徹底把文件還原了。

以上的場(chǎng)景是add后還沒(méi)有commit的,下面我們看一下已經(jīng)add并且commit之后的該如何

詳解git reset 加不加 --hard的區(qū)別

如圖,我已經(jīng)commit了,還沒(méi)有push,push的內(nèi)容我們先不管,push這個(gè)命令其實(shí)和提交沒(méi)關(guān)系,他只是推送到遠(yuǎn)程了,如果push了,也就是我們回退了之后,再重新push一下而已,所以請(qǐng)不要糾結(jié)push這個(gè)操作。他和提交版本其實(shí)沒(méi)有關(guān)系的。

回歸話題。我們已經(jīng)commit了,說(shuō)明已經(jīng)生成了最新的版本號(hào)了,此時(shí)我們想回退,則肯定是回退到之前的一個(gè)版本了,如果你知道前一個(gè)版本的版本號(hào),git reset 版本號(hào),這樣就可以了,但是一般我們不會(huì)去記版本號(hào)的,當(dāng)然你可以執(zhí)行g(shù)it log命令去查到。git為我們提供了一個(gè)更簡(jiǎn)單的回退上一個(gè)版本的方法  git reset head^,此命令專門(mén)用于回退到上一個(gè)版本,如果你的錯(cuò)誤路程已經(jīng)走的很遠(yuǎn)了,僅僅回退上一個(gè)版本可能也解決不了了,那就需要查找日志,找到對(duì)應(yīng)的版本號(hào)進(jìn)行g(shù)it reset 版本號(hào)進(jìn)行回退了。我們執(zhí)行 git reset head^后,再查看狀態(tài),如圖:

詳解git reset 加不加 --hard的區(qū)別

這個(gè)截圖和只做了add,沒(méi)有進(jìn)行commit的回退后的截圖一致的。唯一的區(qū)別就是,

git reset 后面跟的一個(gè)是head,一個(gè)是head^,這個(gè)應(yīng)該很好理解,因?yàn)橐粋€(gè)沒(méi)有commit,還沒(méi)有生成版本號(hào),一個(gè)已經(jīng)commit了,有的新的版本號(hào)了。要回退肯定要用之前的版本號(hào)了。

本來(lái)想說(shuō)git reset --hard 和沒(méi)有--hard的區(qū)別的,結(jié)果扯了這么多沒(méi)用的,唉希望沒(méi)有繞暈吧。后面我們說(shuō)明一下--hard的作用

同樣的,我們先add,不進(jìn)行commit操作,add后,我們執(zhí)行 git reset --hard head,如圖:

詳解git reset 加不加 --hard的區(qū)別

然后我們執(zhí)行g(shù)it status查看狀態(tài),如圖:

詳解git reset 加不加 --hard的區(qū)別

注意,這里和沒(méi)有--hard是有區(qū)別的了啦,有了參數(shù)--hard,直接把工作區(qū)的內(nèi)容也修改了,不加--hard的時(shí)候只是操作了暫存區(qū),不影響工作區(qū)的,--hard一步到位,不加--hard需要分開(kāi)執(zhí)行,兩步操作。看上去加了--hard方便好多,但是我不建議大家使用這個(gè),因?yàn)檫@個(gè)殺傷力有點(diǎn)強(qiáng)。萬(wàn)一手殘刪掉了一些自己不想刪的就沒(méi)有后悔藥了。所以慎用吧

加了--hard的,有沒(méi)有commit的是沒(méi)有區(qū)分的,這里不做截圖了。大家可以自己嘗試。

到此這篇關(guān)于詳解git reset 加不加 --hard的區(qū)別的文章就介紹到這了,更多相關(guān)git reset --hard內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/chenpuzhen/article/details/92006378

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 草草剧场 | 免费在线观看日本 | 亚洲天堂视频在线免费观看 | 97精品久久天干天天蜜 | 亚洲伦理天堂 | 日本一区二区免费在线 | 91精品啪在线观看国产老湿机 | 国色天香论坛社区在线视频 | 好男人资源免费播放 | 日产免费自线一二区 | 欧美日韩国产最新一区二区 | 秋霞在线观看成人高清视频51 | 亚洲天堂免费观看 | 97色伦图片7778久久 | 白丝美女用胸伺候主人 | 免费看男人狂躁女人 | 日本欧美强乱视频在线 | 国产全部理论片线观看 | 暖暖视频免费观看视频中国.韩剧 | 范冰冰上面好大下面好紧 | 欧美贵妇vs高跟办公室 | 邪恶肉肉全彩色无遮盖 | 60老妇性xxxxhd | 18日本xxxxxxⅹxx96 | 91社区在线观看精品 | 欧美成人影院免费观 | 成人资源影音先锋久久资源网 | 无码中文字幕热热久久 | 亚洲444777KKK在线观看 | 亚洲精品第五页 | 国产精品免费综合一区视频 | 丝袜足控免费网站xx动漫漫画 | 视频一区二区国产无限在线观看 | 国产精品xxxav免费视频 | 美女无内裤下部黄 | 公交车强校花系列小说 | yin乱被cao系列 | 校园纯肉H教室第一次 | 国产三级精品91三级在专区 | 吃瓜视频在线观看 | 国产香蕉国产精品偷在线观看 |