git回退版本

2021-08-02 02:44:40 字數 2231 閱讀 9730

把檔案從暫存區域或歷史記錄中複製到工作目錄,用來丟棄本地修改。

git reset -- files

用來撤銷最後一次git add files,你也可以用git reset 撤銷所有暫存區域檔案。

git reset [option] commitid

用來撤銷歷史記錄,option選項–soft,–hard,–mixed。

–soft只影響歷史記錄;

–mixed影響歷史記錄,暫存區;

–hard影響歷史記錄,暫存區,工作目錄;

假如git專案中有三個檔案a.txt,b.txt,c.txt,目前處於已提交狀態

當前a.txt的內容為

a.txt is a git file

編輯a檔案後

a.txt is a git file, i found something is wrong

發現寫錯了,想撤回到未修改之前,執行命令

git checkout -- a.txt

a.txt的內容重新變成了

a.txt is a git file

繼續修改a.txt,內容最終為

a.txt is a git file, i want commit it

執行命令

git add a.txt

突然任性不想提交這個內容了,怎麼辦

回退執行命令

git reset --hard

a.txt的內容重新變成了

a.txt is a git file

這裡有乙個問題,假如同時修改了a.txt,b.txt兩個檔案,執行上面的命令也會把b.txt回退,如果這種情況可以:

git reset只會清空暫存區,並不影響工作目錄

git checkout -- a.txt從歷史記錄把a.txt複製到工作目錄,就可以單獨回退a.txt了

當天小酌了一杯,不小心把a.txt

a.txt is a git file, i want commit it

提交了。

git add

a.txt

git commit -m "a.txt commit"

回退執行命令

git reset --hard head~1

謝天謝地,a.txt又回到了

a.txt is a git file

這裡同樣有乙個問題,假如同時提交了a.txt,b.txt兩個檔案,執行上面的命令也會把b.txt回退,如果這種情況可以:

git reset head~1歷史版本回退,歷史版本複製乙份到暫存區,並不影響工作目錄

git checkout -- a.txt從暫存區把a.txt複製到工作目錄

最後把b.txt重新提交下

git add b.txt

git commit -m "回退a.txt"

如果不想回退了,回到回退之前的版本

檢視回退之前的版本號commitid

git reflog假如為如6558aa6

回到回退之前的版本

git reset --hard 6558aa6

回退中間某些提交

例如 e—f—g—h—i—j topica,回退g的這次提交記錄,可以執行

git rebase --onto f h j

git checkout `git rev-list -n 1 --before="2017-08-27 13:37" master`

git回退版本

有些時候我們提交的遠端 最新的 也許還不如上次寫的好,於是我們就想回退到以前的版本。那麼怎麼回退呢 對了,回退之前還是先備份下。1 2 3 git log 檢視提交的歷史 git log pretty oneline 如果嫌上面的輸出資訊過多可以使用這條 只輸出版本號 git reset hard ...

git 回退版本

git commit amend 提交後的一次補救,比如忘記在上一次提交時提交某些檔案,需要做一些修改後再提交。這個命令就像本次提交覆蓋了上一次提交,在倉庫歷史中不會顯示上一次提交 git reset head 將檔案從暫存區移到工作區,把暫存區的修改回退到工作區 git checkout 檔名 回...

Git版本回退

1 檢視檔案修改歷史 git log 返回的是commit後的操作記錄 git log pretty oneline 也可以使用這個命令格式化日誌輸出 2 版本回退 git reset hard head 回退到上乙個版本 git reset hard head 100 會退到第100個版本,例如現...