GIT 101 基礎入門BY HOWAR31 @ 2013.09.06
HTTP://BLOG.HOWAR31.COM/GIT-101/
OUTLINE
• GIT起源• GIT特色• GIT基本指令• GIT練習• 參考資料
GIT起源
• GIT著重於速度• VERSION CONTROL SYSTEM
• SOURCE CODE MANAGEMENT SYSTEM
• 由 LINUX TORVALDS為了維護 LINUX KERNEL而在 2005年創建
GIT特色
• GIT基於維護 LINUX KERNEL這樣大型專案的需求與經驗,以及一些 FILE SYSTEM的概念而誕生1. NON-LINEAR DEVELOPMENT
2. DISTRIBUTED DEVELOPMENT
3. COMPATIBILITY WITH EXISTING SYSTEMS/PROTOCOLS
4. EFFICIENT HANDLING OF LARGE PROJECTS
5. CRYPTOGRAPHIC AUTHENTICATION OF HISTORY
6. TOOLKIT-BASED DESIGN
7. PLUGGABLE MERGE STRATEGIES
8. GARBAGE ACCUMULATES UNLESS COLLECTED
9. PERIODIC EXPLICIT OBJECT PACKING
GIT基本指令
• GIT INIT
• GIT STATUS
• GIT ADD
• GIT RM
• GIT COMMIT
• GIT LOG
• GIT REMOTE
• GIT PUSH
• GIT PULL
• GIT DIFF
• GIT CHECKOUT
• GIT BRANCH
• GIT MERGE
GIT INIT
• 起始一個 GIT REPOSITORY
GIT STATUS
• 檢查 GIT REPOSITORY的目前 (COMMIT/PUSH)狀態
GIT ADD
• GIT ADD [檔案 ]
• 新增 COMMIT檔案
GIT RM
• GIT RM [檔案 ]
• 刪除 COMMIT檔案
GIT COMMIT
• GIT COMMIT -M “[COMMIT註解 ]“
• COMMIT檔案並附上註解
GIT LOG
• 查看 COMMIT歷史紀錄
GIT REMOTE
• GIT REMOTE ADD [REPOSITORY名稱 ] [REPOSITORY網址 ]
• 新增 REMOTE REPOSITORY
• GIT REMOTE -V
• 列出目前設定的 REMOTE
GIT PUSH
• GIT PUSH -U [REPOSITORY名稱 ] [BRANCH名稱 ]
• 推送檔案到 REMOTE REPOSITORY上• -U 記住這次參數設定,下次只要 GIT PUSH即可
GIT PULL
• GIT PULL [REPOSITORY名稱 ] [BRANCH名稱 ]
• 從 REMOTE REPOSITORY上拉檔案下來
GIT DIFF
• GIT DIFF HEAD
• 比較檔案差異,最新的 COMMIT指標為 HEAD
GIT CHECKOUT
• GIT CHECKOUT –[目標檔案 ]
• 回復版本• GIT CHECKOUT [BRANCH名稱 ]
• 切換分支
GIT BRANCH
• GIT BRANCH [BRANCH名稱 ]
• 開新分支• GIT BRANCH -D [BRANCH名稱 ]
• 刪除分支• GIT CHECKOUT [BRANCH名稱 ]
• 切換分支
GIT MERGE
• GIT MERGE [來源 BRANCH]
• 合併分支
GIT練習
• HTTP://TRY.GITHUB.IO/
• HTTP://PCOTTLE.GITHUB.IO/LEARNGITBRANCHING/
參考資料
• HTTP://GIT-SCM.COM/
• HTTPS://GITHUB.S3.AMAZONAWS.COM/MEDIA/PROGIT.EN.PDF
• HTTP://EN.WIKIPEDIA.ORG/WIKI/GIT_(SOFTWARE)
• 本篇投影片文章• HTTP://BLOG.HOWAR31.COM/GIT-101/