git reset 版本回退


基本參數:

reset 參數–soft、 –mixed、 –hard,會對狀態 working、index、head 進行重置

git reset --mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息
git reset --soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可
git reset  --hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容,此命令 慎用!

head:這是當前分支版本頂端的別名,也就是在當前分支你最近的一個提交
Index:index也被稱為staging area,是指一整套即將被下一個提交的文件集合。他也是將成為HEAD的父親的那個commit
working :你正在工作的那個文件集

 

回退命令:

git reset HEAD 最近一個提交
git reset HEAD^ 上一次提交
git reset HEAD^ ^ 上一次的 上一次的提交(倒數第三次)
git reset HEAD^^^ 倒數 第四次的 提交

git reset HEAD~0 最近一個提交
git reset HEAD~1 上一次提交
git reset HEAD^2 上一次的 上一次的提交(倒數第三次)
git reset HEAD^3 倒數 第四次的 提交

git reset --hard commit_id 回退到指定commit id 處

 

對比兩個版本直接的差異

git diff HEAD //與上次 commit 之間的差別(爸爸)
git diff HEAD^ //與上上次(爺爺)
git diff HEAD^^ //與上上上次(曾祖父)
git diff HEAD~5 //與前面第5次commit(好吧…祖先吧)
git diff HEAD^..HEAD //中間是兩個點比較(爸爸)和(爺爺)的差別
git diff f5fdjsalfjdskaf..4fdklsajfdksaf //比較 兩個不同 hash 值記錄之間的不同
git diff master bird //比較 branch 之間的不同
git diff --since=1.week.ago --until=1.minute.ago //還可以根據時間來比較哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM