git撤銷操作和歷史查看(git log)


git查看歷史和撤銷操作

撤銷提交

git commit --amend可以撤銷上一次提交的內容,不過並不是撤銷整個提交的記錄,當使用這個命令之后可以修改提交信息,同時,這個命令也會自動將暫存區中的所有文件提交。如果自上次提交以來未做任何修改,比如在上次提交之后立即執行這個命令,那么快照會保持不變,所修改的只是提交信息。

首先修改Test7.md,並提交

假如這時候突然發現上一個提交中遺漏了一個Test8.md,這時候只需要將Test8.md添加到暫存區。並使用命令git commit --amend

可以在最上面一行修改提交信息,改成“modified Test7.md and add Test8.md.”然后保存並退出vim的編輯,這時候查看提交歷史(git log):

可以發現提交信息已經更改。

撤銷暫存的文件

在Files文件夾添加Test4.md並添加到暫存區中

如果想要撤銷處於暫存區的Test4.md,根據git status的提示可以看出應該使用git reset HEAD Test4.md命令。此時再使用git status

可以看出Test4.md已經處於未被跟蹤狀態。

撤銷對文件的修改

首先將已經處於暫存區的Test4.md做一些修改,再查看其狀態:

根據status命令的提示也可以知道想要撤銷對文件的修改需要使用命令git checkout --Test4.md這是再查看其狀態:

可以發現文件恢復成了開始的樣子。

但是並不太建議使用上面的命令,要注意的是在git中已提交的東西幾乎都是可以恢復的,但是任何沒有提交的東西丟失后很可能再也找不回來了。上面的命令就是將未提交的內容丟失了

查看歷史

使用git log命令可以會按時間列出所有更新,會列出每個提交的SHA-1校驗和,作者的名字和和電子郵件信息,提交時間和提交說明。

git log -p可以顯示每次提交的內容差異,可以加上-2來僅僅顯示最近兩次的提交。

git log --stat 可以看到每次提交的簡略的統計信息,也就是-p選項的簡略版,當然也可以加上-2選項來顯示最近兩次的提交

還有一個常用的選項是--pretty,這個選項有一些內建的子選項可以選擇,比如用oneline將每個提交放在一行顯示,當查看的提交數很大時很有效果,另外還有short,full,fuller可以用,展示的信息或多或少有一些不同。

之前的-2選項其實是git中限制輸出長度的選項,它限制了只顯示最近的兩條提交,另外還有按照時間做限制的選項,比如--sinceuntil也很有用

還有一個format選項,可以定制要顯示的記錄格式,在這里就不詳細介紹了,一般用上面的命令足夠。


免責聲明!

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



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