[筆記] Git 基礎複習
昨天除了試著把 week1/hw1 完成,也看了一下 week2、week3 的作業,在做 hw1 的時候覺得自已 Git 的基礎還要再複習一下,所以今天就先把 Git 基礎複習一遍。
版本控制概念
- 保存不同版本的檔案
- 版本分支(例如新功能分支與除蟲分支),分支各別完成之後可以合併
- 記錄各版本之間的差異
- 排除不必被追蹤的檔案
- 協作功能
自建版本控制系統
- 每個版本新開資料夾
- 將不必被追蹤之檔案移出
- 各版本資料夾以亂數命名避免重複/衝突
- 建立一個歷史記錄檔,記錄各資料夾之時間順序
Git 基礎
其實可以參考我自已之前的筆記:猴子學 git (一) 基本概念與本地端操作,只是有些細節沒有寫到。
- git init 初始化(其實就是在資料夾裡建立一個 .git/ 資料夾,讓 git 可以對整個資料夾的檔案進行版本控制,沒事可以進去看看 .git/ 裡面都存了些什麼東西)
- git status 查詢版本控制狀態
- git add 檔案加入版本控制
- git rm –cached 檔案移除版本控制
(tracked、stage、untracked……等狀態可以參考下面這張圖) - git commit 提交新版本
- 快速方法:git -am “XXXX”
下面這些是我之前比較沒用過的指令:
git log 查看(提交)歷史記錄(可以加 –oneline 只顯示簡短的提交記錄)
git checkout 切換提交版本
- 加上 {commit id} 可以進去指定的 commit 版本
- 加上 master 可以回到目前最新版本
.gitignore 檔案裡可以放入不想加入版本控制的檔名
Git 分支
為什使用分支
使用分支的場景其實很容易想像,無論是個人或是團隊專案,想要加上新功能或是修改內容而不影響穩定版本的運作,最好的方式就是開一個分支。
分支指令
git branch 不提供參數的話會列出所有分支名稱,並且顯示現在所在分支位置;提供參數「新分支名」則會建立一個新的分支
git checkout 加上分支名可以切換到所選分支
分支的運作原理
這部分比較複雜,Pro Git 書中有一整個章節在講分支(第三章),可能也要對 Git 底層的運作原理(Pro Git 這本書第十章的內容)有點概念才行。
今天花了點時間試著把 Git 的運作原理看了一下,明天再戰……