Git的使用五:版本回退、提交以及實際應用場景
阿新 • • 發佈:2019-01-09
一、 reset回退
# 檢視歷史版本 git log #可以加上 --pretty=oneline 引數 顯示比較少的資訊。comiit id(即為版本號,一大串的那個) # 回退到某個歷史版本,reset指標回退, git reset --hard #後面加上某個版本的版本號 # 這時候提交程式碼會提示當前版本落後 #On branch master #Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded. # (use "git pull" to update your local branch) #nothing to commit, working directory clean # 強制提交到遠端倉庫 慎用!!! git push -f
二、revert
# revert是把此次的回退作為新的提交
git revert commit #後面跟HEAD最近一次 或者版本號
# 直接提交
git push
三、實際應用場景
情況1:檔案已作出修改 但是沒進行 add操作 想要還原檔案
git checkout 檔名或者目錄名 (還原相應的檔案或者目錄下的檔案)
git checkout . 還原全部檔案
情況2:檔案作出修改 已進行add操作 但是沒有 commit 想要刪除add
git reset HEAD 撤銷全部已提交修改 git reset HEAD filename 撤銷對指定檔案的修改
情況3:檔案作出修改 已進行過 commit 操作但是沒有push 想要刪除commit
# 檢視節點
git log
# commit xxxxxxxxxxxxxxxxxxxxxxxxxx
# Merge:
# Author:
# Date:
# reset
git reset commit_id
情況4:檔案作出修改已push到倉庫
此次操作之前和之後的commit和history都會保留,並且把這次撤銷作為一次最新的提交
git revert HEAD 撤銷前一次 commit git revert HEAD^ 撤銷前前一次 commit git revert commit-id (撤銷指定的版本,撤銷也會作為一次提交進行儲存) git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容。 也可以使用reset git reset --hard HEAD^ reset是指將HEAD指標指到指定提交,歷史記錄中不會出現放棄的提交記錄。