1. 程式人生 > >Git專案檔案/版本管理

Git專案檔案/版本管理

首先我們先統一一個概念,便於我們在後面的表述。
我們Git版本管理有三個區:工作區、暫存區、版本區(庫)

接下來我們會介紹對檔案和專案的操作,其實就是增刪改查(CRUD)。因為之前已經分享過分支和標籤的操作,所以,針對分支和標籤的CRUD操作可以檢視之前的文章。

Git分支操作集合
Git標籤管理集合

各個區檔案的對比

1.工作區和暫存區的比較:git diff
2.暫存區和版本區的比較:git diff --cached 或者(–staged)
3.工作區和版本區的比較:git diff master
4.檢視當前工作區所有檔案的狀態:git status

增加(Create)

1.將工作區指定檔案新增到暫存區:git add [fileName]
也可以將工作區所有改動的檔案新增到暫存區: git add .
2.將暫存區檔案提交到版本區:git commit -m “本次提交說明”
3.可以將上面兩個步驟合併成一個:git commit -a -m “本次提交說明”

撤銷

1.撤銷暫存區修改:git reset HEAD [fileName]
2.撤銷檔案的修改,就是將檔案恢復到剛clone的樣子,也就是放棄你目前的所有修改:git checkout – [fileName]
3.撤銷版本區的提交,將本次提交和上次提交合併成一次提交:git commit -m “本次提交說明” --amend

刪除(Delete)

1.工作區A檔案已刪除,暫存區有A檔案,現要刪除暫存區A檔案:git rm A
2.工作區A檔案未刪除,暫存區有A檔案,現要刪除本地和暫存區A檔案:git rm -f A
3.工作區A檔案未刪除,暫存區有A檔案,現要只刪除暫存區檔案:git rm --cached A
4.你會納悶,如果A檔案不在暫存區該怎麼刪除,告訴你直接DELETE鍵刪除,嘿嘿

恢復

1.檢視提交記錄,檢視提交說明和commit_id,這個id代表了某次唯一的提交資訊,這在後面操作中都將用到:git log
2.將某檔案恢復到某個提交版本:git checkout commit_id [fileName]
3.將工作區檔案恢復到某個提交版本 :git reset --hard commit_id
4.將工作區檔案恢復到上一個提交版本(指標移動一次):git reset --hard HEAD^
5.將工作區檔案恢復到上上個提交版本(指標移動兩次):git reset --hard HEAD^^ (以此類推)
6.將工作區檔案恢復到上N個提交版本(指標移動N次):git reset --hard HEAD~N (N直接指定數字)
7.版本回退了,看到了之前的程式碼,現在想回到最新的版本怎麼辦?
git log不會顯示回退版本之後的提交記錄,當然你也可以在一開始的時候將最新的commit_id記錄下來
檢視所有的提交記錄:git reflog
找到你需要切換的版本ID執行:git reset --hard commit_id

臨時操作

1.有時候我們會需要臨時切換分支操作,我們需要將當前工作區的檔案臨時暫存起來:git stash
2.別的分支處理好了問題,再回到當前分支,把臨時暫存的檔案取消暫存:git stash pop

EDN.