首先簡單說一下git的三個區
工作區:可以相當於是我們的本地的資料夾,本地倉庫
版本庫:工作區有個.git隱藏資料夾,記錄著版本
暫存區:版本庫的乙個重要部分,工作區到版本庫的過程中,需要經過暫存區
在進行git操作時,經常會有一些誤操作 ,在這裡總結一些補救的方法
一、刪除錯誤新增到暫存區的檔案
git rm
本操作其實與git add是類似的,區別就是乙個是新增,乙個是刪除,進行之後均需要commit
上述操作僅僅刪除了暫存區的檔案,若想將工作區的檔案也一併刪除,可以選擇手動進入工作區刪除檔案,或者直接採用下述命令:可以直接刪除暫存區和工作區的檔案
git rm -f
二、刪除失誤的commit
此時已經將錯誤commit了,即已經提交到了版本庫,那麼,工作區、暫存區、版本庫三者的內容目前來說是一樣的。這時候,我們只刪除暫存區和工作區的檔案是不夠的,需要進行——撤銷版本庫,即版本跳轉
版本跳轉有三種操作可以選擇(輸入commit_id只輸入前6位即可)
git reset --soft 只撤銷版本庫,而不修改暫存區和工作區
git reset --mixed 只撤銷版本庫和暫存區,而不修改工作區
git reset --hard 將版本庫、暫存區、工作區的記錄均恢復到指定的版本
檢視版本號即commit_id的方法
當進行版本跳轉之後,發現當前跳轉到的版本不可以,還需要回到剛剛的版本,但是git log已經沒有剛才的版本了,這個時候可以用到:git reflog 就可以了git log
檢視所有的提交版本
git撤銷操作
當改動還沒有被提交之前,它們仍然被稱之為 本地 改動。這些在你的工作目錄的修改還仍然在本地,它們屬於未被提交的改動。有時候你對 進行了一些修改,但是發現這些改動帶來的問題比之前還要多。在這種情況下,你可能想要放棄你剛剛的改動,讓 恢復到你改動之前的版本,也就是上次提交之後的狀態。恢復乙個檔案到上次提...
Git撤銷操作
在使用git的過程中,我們可能想要撤銷某些操作,在不同的階段撤銷的命令有所區別。撤銷暫存的檔案 當我們使用git add命令將檔案新增到暫存區域後,想要取消新增的檔案,操作的命令如下 git reset head 檔名 撤銷對檔案的修改 當我們對檔案進行修改後 還沒有提交到暫存區 不想保留對它的修改...
Git撤銷操作
撤銷已經修改,但是還沒有新增到暫存區的操作 解決方案 有兩種情形 第一種情形 如果乙個檔案是新建的檔案,沒有untrack,說明這個檔案在庫里就沒有版本,所以用git rm 命令是匹配不到的。所以這種檔案是沒有跟蹤版本的,也就不能知道,到底修改了什麼。如果要跟蹤,就要add到tracking檔案列表...