Git學習(五)----Git工作區&暫存區&版本庫(“三巨頭”)、刪除檔案、撤銷操作
工作區:比如我的就是git1。
版本庫:工作區裡有個隱藏的.git資料夾,這個奏是Git的版本庫
暫存區:Git版本庫裡一個很重要的部分。
以新增檔案或者修改檔案為例:
(1)git add就是把“工作區檔案的修改”新增到“暫存區”;
(2)git commit就是把“暫存區的所有內容”提交到“當前分支”(目前為止我們都使用的都是git自動為我們建的master分支,分支之後再說)
好比吃飯:
我們先拿餐具挑選食物(對檔案進行操作)--->塞到嘴裡,吧唧吧唧(git add,儲存在暫存區)--->跨擦!嚥下去了(git commit)
如果,你對檔案修改了沒有git add,直接commit是不會提交更新的而且會報錯(畢竟嘴裡沒東西,咽啥啊)。
如果,對檔案修改了,然後git add了,之後腦子犯抽的再次修改了檔案沒git add,那麼只會將之前add的提交(咽東西只會咽嘴裡的啊,你筷子上有啥沒卵用)。這個時候你跳轉到這個版本就會發現第二次修改的東西不見了。
刪除檔案:git rm <file>
刪除檔案和上文git add原理十一樣的:“工作區檔案的操作” ---> “暫存區” ---> “當前分支”
所以,首先我們先到工作區刪除檔案 ---> 然後,git rm <file>
刪除git1下的test2.txt檔案,然後在控制檯輸入:git status 檢視
輸入:git rm test2.txt
(“刪除操作”新增到暫存區成功)
輸入:git commit -m“delete file test2.txt”
(刪除操作成功,是不是so easy。)
(๑乛◡乛๑):你會用嗎?
撤銷修改:
沒add、沒commit: 修改某個檔案內容,想丟棄修改時,git checkout -- <file>。(直接扔掉修改)
已add、沒commit: 先git reset <commit id> <file>,然後git checkout -- <file>。(先從暫存區中刪除,在刪除檔案修改)
已add、已commit:
注意:git checkout -- <file> 中的“--”不要漏寫了,不然就變成“切換分支”的命令了
我們首先先把刪掉的檔案撤銷回來吧!
輸入:git reset --hard fab70b (我這裡commit id 只寫了6位,記得加上 --hard 不然看不到test2.txt檔案的)
修改test2.txt 檔案(沒add)。輸入 git checkout -- test2.txt
修改test2.txt檔案 ---> git add
然後撤銷修改,輸入:git reset fab70b3 test2.txt;再輸入:git checkout -- test2.txt
檔案刪除的撤銷操作是一樣的,不演示了。