Git 入門 (一):介紹和基本指令
致謝
最初一開始是想要把高見龍先生的「為你自己學 Git」讀完幫自己寫個筆記,還沒認真讀完前,就剛好搭上六角學院創辦人洧杰老師的【Git 特訓班】課程,才能在我無預期的時間內,快速認真地完成此筆記 (原本以為要半年後XD)。
Git 能吃嗎?
Git 是分散式的程式碼版本控制軟體,Git 本身關心檔案的整體性是否有改變,但多數的版本控制系統如 CVS 或 Subversion 系統則在乎檔案內容的差異。
Git 拒絕保持每個檔案的版本修訂關係。因此檢視一個檔案的歷史需要遍歷各個 history 快照;Git 隱式處理檔案更名,即同名檔案預設為其前身,如果沒有同名檔案則在前一個版本中搜尋具有類似內容的檔案。
因此可以看出和前一份檔案的差異,如下圖。
Git 軟體安裝和使用方法
Git 軟體安裝
- 指令
- GUI介面:SourceTree(較多人使用)、GitHub Desktop
終端機指令
設定個人資料
- 輸入姓名:
git config --global user.name "gon"
- 輸入個人的 email:
git config --global user.email "gonsakon@gmail.com"
- 查詢 git 個人資料:
git config --list
基本指令架構
Git 常用指令
- 初始化儲存庫:
git init
- 查詢當前狀態:
git status
- 將檔案加入到「索引/暫存區」:
git add .
- 將「索引/暫存區」檔案放入本地端儲存庫:
git commit -m "修改內容"
- 觀察 commit 歷史紀錄:
git log
- 更新遠端儲存庫:
git push origin master
git push
<遠端分支名稱>:上傳本地端分支修改內容到,標籤名為 origin 的遠端數據庫的 master 分支。
如果只輸入 git commit
,會進入 vi。
如果不在純文字編輯模式 (insert mode),可以輸入 i, I, o, O, a, A, r, R
其中一個進入 insert mode。
按下 esc 退出鍵,「編輯模式」會更改為「一般指令模式」。
在一般指令模式輸入 :
跳到最底下一列, wq
存檔 (write) 並離開 (quit)。
參考資料:
鳥哥的 Linux 私房菜 - 9.2 vi 的使用
常用環境設定
指令碼前面的 $
不需要輸入
(其實我並不清楚指令碼前的 $
表示什麼意思,完全查不到,但是我猜是在 shell 中輸入的意思,shell 就是外殼、介面、終端機,麻煩請知道的大神指證我或告訴我正確的解釋,謝謝!)
所以 $
後面的指令才是重點,有些網站提到指令碼時並不會出現 $
更換 Git 編輯器:
1 | $ git config --global core.editor "code --wait" |
設定 Git 指令縮寫:
1 | $ git config --global alias.co checkout |
參考資料:
六角學院 -「Git & GitHub 入門」線上講義
六角學院 -「Git 遠端 Repository 操作」線上講義
Git 入門 系列文
Git 入門 (一):介紹和基本指令 ← 你在這~
Git 入門 (二):遠端操作 (使用 GitHub 的伺服器)、檔案狀態與還原
Git 入門 (三):分支 (branch)、下載遠端儲存庫 (clone)
Git 入門 (四):取得遠端新檔案並合併 (fetch + merge = pull)、衝突 (conflict)