基本狀態標識
a- = untracked 未跟蹤
a = tracked 已跟蹤未修改
a+ = modified - 已修改未暫存
b = staged - 已暫存未提交
c = committed - 已提交未push
各狀態之間變化
a- -> b : git add
b -> a- : git rm --cached
b -> 刪除不保留檔案 : git rm -f
a -> a- : git rm --cached
a -> a+ : 修改檔案
a+ -> a : git checkout --
a+ -> b : git add
b -> a+ : git reset head
b -> c : git commit
c -> b : git reset --soft head^
修改最後一次提交:git commit --amend
git撤銷操作
當改動還沒有被提交之前,它們仍然被稱之為 本地 改動。這些在你的工作目錄的修改還仍然在本地,它們屬於未被提交的改動。有時候你對 進行了一些修改,但是發現這些改動帶來的問題比之前還要多。在這種情況下,你可能想要放棄你剛剛的改動,讓 恢復到你改動之前的版本,也就是上次提交之後的狀態。恢復乙個檔案到上次提...
Git撤銷操作
在使用git的過程中,我們可能想要撤銷某些操作,在不同的階段撤銷的命令有所區別。撤銷暫存的檔案 當我們使用git add命令將檔案新增到暫存區域後,想要取消新增的檔案,操作的命令如下 git reset head 檔名 撤銷對檔案的修改 當我們對檔案進行修改後 還沒有提交到暫存區 不想保留對它的修改...
Git撤銷操作
撤銷已經修改,但是還沒有新增到暫存區的操作 解決方案 有兩種情形 第一種情形 如果乙個檔案是新建的檔案,沒有untrack,說明這個檔案在庫里就沒有版本,所以用git rm 命令是匹配不到的。所以這種檔案是沒有跟蹤版本的,也就不能知道,到底修改了什麼。如果要跟蹤,就要add到tracking檔案列表...