預備知識:
乙個commit對應這乙個版本,有乙個commit id,40位的16進製制數字,通過sha1計算得到,不同的檔案計算出來的sha1值不同(有很小的機率相同,可忽略),這樣每乙個提交都有其獨特的id。每提交乙個新版本,實際上git就會把它們自動串成一條時間線。
在git中,head表示當前版本,也就是e620a6ff0940a8dff…,head^表示上乙個版本,head^^表示上上乙個版本,往上100個版本可以寫成head加連續100個^,也可以寫成:head~100。
git log:該命令顯示從最近到最遠的提交日誌。
git log --pretty=oneline:將只會顯示提交的commit id號和對應的注釋。(這裡是兩個-,markdown顯示兩個-為乙個-)
git reset –hard id 之前的版本日誌資訊:
git log --pretty=oneline
e620a6ff0940a8dff91e0d252f30e4d138ec37be 練習版本回退,假設這是版本3
33342d9870f104719d351539a15e74a1382407ea 練習版本回退,假設這是版本2
git reset –hard commit_id 或則是 git reset –hard head^
git reset --hard head^ # hard選項,表示徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫
使用git reset –hard 進行版本回退之後,在本地檢視readme.md,裡面已經變為版本2對應的內容了。
如果你在本地做了錯誤提交,那麼回退版本的方法很簡單
1.先用下面命令找到要回退的版本的commit id:
git reflog
2.接著回退版本:
git reset --hard a7e1d279
a7e1d279就是你要回退的版本的commit id的前面幾位。
遠端分支版本回退的方法
如果你的錯誤提交已經推送到自己的遠端分支了,那麼就需要回滾遠端分支了。
1.首先要回退本地分支:
git reflog
git reset --hard obfafd
2.緊接著強制推送到遠端分支:
git push -f origin master ## 這裡假設只有乙個master分支
3、如果回退遠端開發分支
git push -f origin 本地分支名:develop
Git版本回退
1 檢視檔案修改歷史 git log 返回的是commit後的操作記錄 git log pretty oneline 也可以使用這個命令格式化日誌輸出 2 版本回退 git reset hard head 回退到上乙個版本 git reset hard head 100 會退到第100個版本,例如現...
git版本回退
先說今天遇到的問題,看到乙個config.php的配置檔案一直在修改的狀態下,但是和遠端的config.php是不一致的,我不需要提交它,但是看它在 modified的狀態下,很不爽,想刪除它,git rm config.php,然後git push了下,結果不僅把本地的config.php乾掉了,...
git版本回退
把修改後的版本通過命令提交到版本庫 第一步 git add 檔名 字尾 第二步 git commit m commit id 但是有時候想回去怎麼辦呢?當然萬能的git給我們提供了方法的。我們先檢視一下最近到最遠的提交紀錄操作如下 在命令航輸入 git log 會顯示提交日誌,但是嫌輸出過多怎麼辦,...