網頁

顯示具有 Git 標籤的文章。 顯示所有文章
顯示具有 Git 標籤的文章。 顯示所有文章

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檔案刪除














git基本操作

設定git
$ git config --global user.name "你的英文代號"
$ git config --global user.email 你的電子郵件
$ git config --list

顯示介面上色
$ git config --global color.ui true

創一個資料夾
$ mkdir python
$ cd python

啟動git,讓git追蹤資料夾底下的檔案跟資料夾
$ git init

取消追蹤的話
$ rm -rf .git

可以查詢檔案狀況
$ git status

新增和修改檔案
$ git add python.py 或者 $ git add .

刪除檔案
$ git rm python.py

#實際手動刪除檔案後,在還要再輸入一次這個指令讓 git 知道,
這個檔案已經被刪掉了,不然會一直追蹤。

儲存本次更新
$ git commit -m "first commit" 

#註解內容會被記錄到下面log檔

查看之前儲存的紀錄點
$ git log

#commit 後方一串亂碼是紀錄點的識別碼

還原到你指定的紀錄點版本,之後所做的修改都不會保留著
$  git reset --hard 紀錄點的識別碼

回復到你指定的紀錄點版本,之後所做的修改都會保留著
$ git reset 紀錄點的識別碼

刪除你要刪除的文件名稱
$ git rm -r --cached 資料夾名稱

第一次建資料夾
$ git remote add origin https://github.com/chiustin/Machine-Learning.git

上傳
$ git push -u origin maste