1. 程式人生 > >git基本操作--刪除檔案和移動檔案

git基本操作--刪除檔案和移動檔案

一、刪除檔案
1、檢視當前的狀態
這裡寫圖片描述
使用不同的刪除方法,先儲存進度:
這裡寫圖片描述
恢復進度,進行刪除操作。因為要使用不同的刪除命令,所以恢復進度使用 git stash apply命令,這個進度可以多次被用到:
這裡寫圖片描述

開始刪除操作:
1、檢視工作區的檔案
這裡寫圖片描述
2、在工作區刪除檔案,工作區的檔案都刪除了:
這裡寫圖片描述
3、檢視暫存區(版本庫)中的檔案依然存在,並未刪除
這裡寫圖片描述
4、此時的狀態
這裡寫圖片描述
說明:檔案只是在本地工作區中進行了刪除,尚未新增到暫存區(提交任務commit)中。對暫存區和版本庫沒有任何影響。
5、恢復刪除的檔案到工作區
這裡寫圖片描述
6、刪除暫存區中的檔案
這裡寫圖片描述
7、檢視狀態,刪除動作加入到暫存區:
這裡寫圖片描述


8、此時刪除動作已經加入到暫存區,再執行提交commit動作,那就真正意義上刪除了檔案:
這裡寫圖片描述
9、檔案只是在版本庫的最新提交中被刪除,在歷史提交中尚在,並可以檢視刪除檔案的內容。
這裡寫圖片描述

如果是要刪除很多個檔案,列出每一個檔名,那命令比較長和繁瑣。可以使用git add -u 命令可以將(被版本庫追蹤的)本地檔案的變更(刪除、修改)全部記錄到暫存區。

為了測試該命令,恢復工作區到最初的狀態,丟棄之前的提交操作:
這裡寫圖片描述
假設工作區有一個未被版本庫追蹤的檔案(test0318.txt),也就是沒有提交到版本庫中,看看刪除的影響:
1、工作區的檔案:
這裡寫圖片描述
2、刪除本地檔案
這裡寫圖片描述
3、檢視狀態,並執行git add -u命令將(版本庫追蹤的)本地檔案的變更(刪除、修改)全部記錄到暫存區中:
這裡寫圖片描述


4、檢視狀態,發現未被版本庫追蹤的檔案test0318.txt的刪除沒有被記錄到暫存區。可以看到工作區刪除的檔案全部被標記為下次提交時刪除:
這裡寫圖片描述
5、刪除檔案,而不用列出檔名:
這裡寫圖片描述
6、檢視此時的狀態
這裡寫圖片描述

恢復刪除的檔案
執行檔案刪除並提交,只是在最新的提交中刪除了檔案,歷史提交中檔案仍然保留。
1、從歷史(前一次提交)中恢復檔案welcome.txt。HEAD~1相當於HEAD^,都是指HEAD的上一次提交。
這裡寫圖片描述
2、也可以使用git show命令恢復檔案
這裡寫圖片描述
3、還可以使用git checkout命令恢復檔案:
這裡寫圖片描述
4、檢視狀態
這裡寫圖片描述
5、將工作區中的所有改動及新增檔案新增到暫存區中
這裡寫圖片描述


6、提交暫存區中的檔案
這裡寫圖片描述

三、移動檔案
通過修改檔名,實現對檔案的移動。
使用兩種方法實現檔案的改名(移動)操作。
3.1、使用git mv命令完成改名操作:
這裡寫圖片描述
提交改名操作,可以檢視改名前後兩個檔案的相似度(百分比)
這裡寫圖片描述

改名操作相當於對舊檔案執行刪除,對新檔案執行新增操作。

3.2、不使用git mv命令,而是以git rm 和git add兩條命令取代
先撤銷之前的提交:
這裡寫圖片描述
直接在本地改名(檔案移動)
這裡寫圖片描述
修改一下改名後文件的內容,然後加入暫存區,
git add -A命令:相當於對修改檔案執行git add操作;對刪除檔案執行git rm;對本地新增檔案執行git add。:
這裡寫圖片描述
提交改名的檔案
這裡寫圖片描述
改名後,本地檔案列表:
這裡寫圖片描述