git的筆記(各種型別的後悔藥:撤銷你的修改)
阿新 • • 發佈:2019-01-26
之前說過當你已經提交了你的修改,提交到了版本庫裡,想要回到之前的版本,可以使用
git reset HEAD^
git reset HEAD^^
git reset 88eb //版本號
你還可以使用git log或者git reflog來檢視歷史版本
但是當你還未進行提交,僅僅是修改了工作區的檔案或者已經add到暫存區之後又進行了修改的時候,如果想撤銷你的修改的時候,你可以使用以下命令:
git checkout --file//撤銷未提交的修改
以上修改了兩種情況:
1.還未進行add命令(其實這樣的情況如果你還記得修改了哪裡,你可以手動修改就好了)
2.已經add到暫存區裡面了的修改,但是又進行了工作區的修改
當你已經add到暫存區裡,但是你後悔了的時候,
git reset HEAD filename
一行命令就可以使你的暫存區的東西回退到上個版本
剩下的,你就可以去撤銷工作區的修改
git checkout --file
撤銷工作區裡的修改
好了,哦了,一切都利索了:P
總結一下
誰都有抽的時候,
當你在add之前發現自己抽了,想把自己抽回來:
git checkout --file//撤銷工作區的修改
當你add之後,但是發現自己又抽風的修改了你的工作區的檔案,還想把自己抽回來:
git checkout --file//撤銷工作區的修改
但是當你add之後,發現你自己之前的提交是自己抽了:
git reset HEAD filename//清除暫存區的修改
git checkout --file//清楚工作區的修改
但是當你commit之後,發現自己之前抽了:
git reset HEAD^//回退到上個版本
git reset HEAD~10000//回退到上一萬個版本
git reset 版本號
git log / git reflog //可以使用這兩個命令檢視版本號
好吧,我承認上面的比喻確實有點抽象,可能是我抽了吧:P