常用的Git版本控管指令
準備工作目錄
$ mkdir git-demo
$ cd git-demo
$ git init
新增檔案
$ git add .
查看狀態
$ git status
復原
最常見的復原發生在太早提交更新,也許忘了加入某些檔案、或者搞砸了提交的訊息。 若想要試著重新提交,可試著加上--amend
選項:
$ git commit --amend
新增部分檔案
新增所有「點」開頭的檔案
$ git add .*
提交變更 / 建立版本
$ git commit -m "[新增] 初始化專案"
查詢歷史紀錄
$ git log
刪除檔案
$ git rm 'index.html'
這個git rm
的指令執行的時候,會同時做兩件事:
- 刪除工作目錄快取的 'Gruntfile.js' 這個檔案 (用來標示這個刪除檔案的動作要列入版本控管)
- 刪除工作目錄下的 'Gruntfile.js' 這個實體檔案 (代表真的把這個實體檔案給刪除)
檔案更名
$ git mv test unit-test
顯示工作目錄的索引狀態
$ git status
精簡模式
$ git status -s
還原其中一個被改壞的檔案
$ git checkout master index.html
了解儲存庫、工作目錄、物件與索引之間的關係
什麼是儲存庫
$ git init
初始化後,目錄下會產生一個 ".git" 資料夾這就是儲存庫
什麼是工作目錄
.git 資料夾所在的目錄就是工作目錄,所有的git語法,都是在操作這個目錄
了解Git的資料結構
「物件」用來保存版本庫中所有檔案與版本紀錄,被放在.git / objects
「索引」用來保存當下要進版本庫之前的目錄狀態
- 要使用 Git 版本控管,你必須先建立「工作目錄」與「版本庫」。(mkdir, git init)
- 你要先在「工作目錄」進行開發,你可能會建立目錄、建立檔案、修改檔案、刪除檔案、... 等操作。
- 然後當你想提交一個新版本到 Git 的「儲存庫」裡,一定要先更新「索引」狀態。(git add, git mv, ...)
- 然後 Git 會依據「索引」當下的狀態,決定要把那些檔案提交到 Git 的「儲存庫」裡。(git status)
- 最後提交變更時 (git commit),才會把版本資訊寫入到「物件儲存區」當中 (此時將會寫入 commit 物件)。