git撤銷指令和對比差異指令

2021-10-01 09:18:31 字數 2403 閱讀 8098

1.git status :檢視快取區狀態

我們在工作目錄下建立乙個name.txt資料夾。開啟git bash,輸入git status指令

git提示我們建立了name.txt檔案,但是還未進行add操作加入到快取區,所以git目前無法跟蹤。

根據提示我們輸入add指令:git add name.txt,然後輸入git status再檢視快取區狀態

name.txt變成綠色了,說明我們add操作成功,那假如說我add之後我們我想撤銷怎麼辦(未commit)。我們可以執行git reset head name.txt指令撤銷。最後輸入git status再檢視快取區狀態

可以看到name.txt變成了未add了

2.git checkout --檔名

git checkout --檔名 用於撤銷工作區的內容。同樣舉上面的例子:假如說昨天name.txt被我提交到快取區了,今天我又對name.txt進行修改,但是現在我想把工作區的內容撤銷掉。

我們可以先使用git diff name.txt檢視工作區和快取區的差異

發現今天我只給name.txt新增了倆個字母aa(當然日常工作可不是這麼簡單,你一天工作可能寫到自己發懵,你手動刪除根本不知從哪開始),我想恢復到昨天的內容可以呼叫:git checkout -- name.txt。你開啟你的檔案就會發現內容已經恢復到昨天的狀態。git diff name.txt可以檢視工作區和快取區的差異,那工作區和本地倉庫差異、快取區和本地倉庫差異怎麼看。

3.檢視差異指令

git diff比較的是工作區和暫存區的差別

git diff --cached比較的是暫存區和版本庫的差別

git diff head可以檢視工作區和版本庫的差別

還是舉上面的例子。name.txt檔案被我們commit到了版本庫,現在我在工作區對name.txt進行修改。通過

git diff head name.txt可以檢視工作區和版本庫的差異

現在我在工作區對name.txt進行修改後進行add操作,通過git diff --cached name.txt

可以檢視快取區和版本庫的差異

因為我們add之後快取區和工作區的**已經一樣,因此他們和版本庫的差異是相同的。

4.git reset 版本號

git reset 版本號可以讓我們回退到某個版本,預設是版本庫和快取區都會回退,工作區不會回退。

依舊使用上面的例子:假如說我們今天對name.txt修改了然後準備下班我們把它add到快取區,然後commit到版本庫。但是突然發現有個bug怎麼辦?

先呼叫git reflog檢視我們的提交的版本號,這個指令可以看到我們所有的操作,包括刪掉的commit

然後我們可以看到第乙個commit是我們剛提交的版本嗎,如果要回到紅圈圈起來的那個版本我們可以呼叫:git reset 6637c52。最後呼叫git log檢視一下日誌。

已經顯示版本回退成功了

需要注意的是快取區也會跟隨版本回退,工作區不變。當你重新修改完後需要add再commit。

Git常用指令和操作

常用指令 實際使用 將本地專案推送到 github 遠端倉庫 git init 初始化 倉庫,將當前資料夾轉為 git 倉庫 產生 git 資料夾 git status 檢視修改的 檔案 git add 將需要提交的所有修改放入暫存區 git commit m message 提交 並輸入描述資訊m...

Git 常用指令

首先需要建立乙個repo,這是cd到資料夾底下,然後init。git init 在檔案系統裡面的檔案如果不新增到git的repo裡面,不會自動被git辨識,需要手動新增,這也是初始化repo是必須要做的事。git add documentation txt git add git sh 刪除檔案,分...

Git 指令大全

git 是分布式的版本控制系統,從架設 簡易操作 設定,此篇主要是整理 基本操作 遠端操作 等.注 git 的範圍太廣了,把這篇當作是初學入門就好了.注意事項 由 project git config 可知 若有更多,亦可由此得知 平常沒事不要去動到 origin,如果動到,可用 git reset...