網頁

2017年1月21日 星期六

git檔案管理

檔案狀態可以分成三種
Changes to be committed #執行git add後
Changes not staged for commit #已經git add後再修改檔案
Untracked files #建立新的檔案

#一個檔案可以同時Changes to be committed
#Changes not staged for commit

檢視檔案
$ git status #顯示修改檔案清單
$ git diff #查看修改檔案差異
$ git log #顯示commit紀錄
$ git show #查看commit的詳細記錄

註冊檔案或目錄到index
$ git add

刪除檔案
$ git rm 

#會先把檔案移除index變成Changes not staged for commit
#等commit -m之後才會真正刪除檔案

還原和刪除檔案

已註冊到index的檔案做"修改"後
狀態也會從Changes to be committed變成
Changes not staged for commit
如果要把Changes not staged for commit檔案
"還原檔案"變成
$ git checkout -- file

#此時檔案狀態也會改回Changes to be committed
#不管是modified或deleted都可以還原檔案內容

把檔案狀態從Changes to be committed變成
Changes not staged for commit
也就是檔案"取消index"
$ git reset HEAD file

還原工作目錄和index
和最後commit一樣
先將Changes to be committed
Changes not staged for commit
Untracked files
三種狀態index先變成Changes to be committed

$ git add. #先全部變成Changes to be committed
$ git reset --hard #將Changes to be committed檔案刪除














沒有留言:

張貼留言