第二個小技巧就是刪除檔案。
「自從使用了 git,媽媽再也不用擔心我刪錯檔案了!」—— 乙個檔案只要被 git 盯上了,那麼它就休想輕易地逃出魔掌!
比如我現在從工作目錄中手動刪除 readme.md 檔案,然後執行 git status命令:
git 馬上意識到**不對勁,趕緊對比一下暫存區域……噢,原來你小子偷偷地把 readme.md 刪除了丫!哼,還想瞞天過海?
看,readme.md 又回來了:
那現在問題來了:如何在 git 中刪除檔案呢?
這下腫麼辦?讓老闆看到了這魷魚就吃定了……
這時,祭出了
rm命令救你於水深火熱之中!
執行git rm 私密圖.jpg命令:
你會發現此時工作目錄中的小黃圖(yellow.jpg)已經被刪除……
但執行 git status命令,你仍然發現 git 還肯鬆手:
(⊙o⊙) git 的意思是說它在倉庫的快照中發現有個叫 私密圖.jpg 的東西,但似乎在暫存區域和當前目錄不見了!
好吧,事實證明要從 git 中真正刪除乙個檔案是件非常麻煩的事兒!
此時,你可以執行git reset --soft head~
注意:rm 命令刪除的只是工作目錄和暫存區域的檔案(即取消跟蹤,在下次提交時不納入版本管理)
你們別嫌我囉嗦,還有兩種情況你們可能會遇到,比如我在工作目錄中增加乙個 test.py 檔案,然後執行git add test.py命令將其新增到暫存區域,此時我修改 test.py 檔案的內容,那麼暫存區域和工作目錄就是兩個不同的 test.py 檔案了:
此時如果我執行git rm test.py命令,git 會下意識地阻止我:
因為兩個不同內容的同名檔案,誰知道你是不是搞清楚了都要刪掉?還是提醒一下好,別等一下出錯了又要賴機器……
根據提示,執行git rm -f test.py命令(暴力刪除)就可以把兩個都刪除。
還有另一種情況就是你可能只想刪除暫存區域的檔案(保留工作目錄的),那麼你可以執行git rm --cached 檔名命令實現目的。
Git 簡單實用教程
工作區域 working directory 就是你平時存放專案 的地方。暫存區域 stage 用於臨時存放你的改動,事實上它只是乙個檔案,儲存即將提交的檔案列表資訊。git倉庫 repository 就是安全存放資料的位置,這裡邊有你提交的所有版本的資料。其中,head 指向最新放入倉庫的版本 這...
3 GIT實用教程
git是分布式版本控制系統,通俗的說就是用來管理 的。在工作過,經常遇到,在開發乙個需求的時候,突然有乙個緊急的bug需要處理。這個時候我們要先放下手頭的工作,儲存 去處理bug。git可以通過建立不同分支,來做不同的事而不干擾,儲存修改記錄供以後查詢。很好用的工具 tortoisegit 烏龜gi...
Git實用教程 6 2 重新命名檔案
改著改著突然覺得檔案的名字不合適了,於是重新命名,這種情況平時不少見吧?但你這麼做,通常會把 git 搞懵逼!本來的模樣 我們把 game.py 重新命名為 wordgame.py,執行 git status命令 git 說 omg,倉庫的快照中檢查到有乙個叫 game.py 的檔案,你是不是刪了 ...