git進階(撤銷pull、撤銷merge、撤銷add)

淺夏晴空發表於2021-11-24

1、撤銷本次pull

git reflog

image-20211123115003360

reset到某個版本

git reset --hard 91ae6ad

image-20211123115138013

2、撤銷本次merge

如果merge了其他分支程式碼造成了大量的衝突 想撤銷本次merge如果操作

image-20211123121252778

1、使用上面的reset命令撤銷到上一個提交版本

2、執行以下命令直接撤銷了本地合併

git merge --abort

3、git log高階用法

檢視每次提交的檔案修改列表,和分支變化的圖形資訊

git log --name-status --oneline --graph

image-20211123142821089

普通查詢用法

git log

image-20211123142912632

4、git stash

在平時開發中,如果本地分支開發了一部分,但需要切換分支,或者拉取程式碼,那麼在如何不提交修改的前提下,完成pull或者分支切換呢?

git stash 可以將當前工作狀態(WIP,work in progress)臨時存放在 stash 列表中,待 pull / merge 操作完成後,再從 stash 中重新應用這些修改。

-u 參數列明新增的檔案也一起 stash

git stash save -u 'message'

\# 檢視 stash 列表中已暫存了多少 WIP

git stash list

\# 恢復上一次的 WIP 狀態,並從列表中移除

git stash pop

image-20211123143742546

image-20211123143942657

5、如何撤銷修改

1、撤銷新建檔案或者目錄時使用checkout是不生效的

. 表示當前目錄及所有子目錄中的檔案

git clean -fd .

image-20211123144851627

撤銷指定檔案或者目錄

git clean -fd 檔案或目錄

image-20211123145140777

2、撤銷本地update程式碼修改

git checkout .

這個很常用不再過多贅述

相關文章