Table
ㄧ. Git 入門 4 步驟
▍什麼是 Git?Git 和 GitHub 傻傻分不清楚?
當初筆者在學習 Git 操作時,傻傻的以為 Git 就是完全等於 GitHub,但其實並非如此!
▍關於 Git 基礎操作的四步驟:
Git 基礎操作指令的四個步驟
- git init
- git add
- git commit
- git push
關於四個指令更詳細的介紹請參考此篇: [Git教學] 寫給 Git 初學者的入門 4 步驟
二. 進入 Git 平行時空(分支)
▍為什麼 Git 會要有分支功能,分支解決了什麼問題?
同時有多人在共同開發,為了能支援同時進行數個功能的增加或版本控制,Git 具備了分支的功能。
▍Git 分支如何操作?
1. 如何創立新分支
1 |
$ git branch <Name> |
2. 切換指定分支
1 2 3 |
$ git checkout <Name> $ git checkout -b <Name> # 同時建立且切換分支 |
3. 查看目前所有分支
1 2 3 |
$ git branch # 查看本地所有分支 $ git branch -a # 查看所有分支(含遠端分支) |
4. 刪除指定分支
1 |
$ git branch -d <name> |
關於 merge 和 rebase 詳細差異請參考此篇:[Git教學] 分支合併: merge 與 rebase 差異
整理了 Git 合併的兩種方式 (merge / rebase ),以及使用動圖的呈現,讓你了解兩種 Git 合併方法,在合併後 Git Commit Tree 的差異。
關於 reset 和 checkout 詳細差異請參考此篇:[Git教學] Git 時光機回復版本的 2 種方法 reset & checkout
整理了兩種 Git 退回和切換版本的方式 (reset / rebase),也有動圖呈現兩者之間的差異。筆者建議先把這篇收藏起來,未來有需要用到時再拿出來複習~
三. 如何優雅的寫 Git Commit
如何寫好 Git Commit 首先我們先了解 2014 年 Chris Beams How to Write a Git Commit Message 文章中的 Git Commit 七大原則:
1. 將訊息用空白行來區分標題與內容
https://chris.beams.io/posts/git-commit/
2. 標題限制在 50 字元以內
3. 標題開頭使用大寫
4. 標題不以句點結尾
5. 使用祈使句設計標題
6. 內容每行最多 72 字,過多文字則需要斷行
7. 內容需解釋 what 以及 why vs. how
除了七大原則外,我覺得這篇 人生也有 Git 就好了 讓我對 commit 有不同的看法。
沒想到 Git Commit 竟然也可以是一個目標管理和時間管理的好用工具。
1. 在紙上先將工作事項拆解成小任務:這跟看板方法提到的準備作業很像,先拆分準備要做的事,書中更具體的提到一個蕃茄鐘 25 分鐘可以完成的工作為一個小任務,有這個先決條件就很好拆分任務內容了。
2. 先寫下小任務的提交訊息再開始寫程式碼:這點非常驚人,先寫下要提交的訊息除了可以確保訊息是有意義外,更重要的是他可以讓你專注在這個任務,只開啟跟這個任務相關的檔案,如果改了其他無關的檔案,立刻就會發現這不是我現在要做的事情,就會回頭乖乖做現在該做的事。
3. 每完成一個小任務進行提交:小任務完成後就提交很有爽快感,每次小任務的提交都能離完成大任務更近一步。
4. 別做出斷斷續續的提交:要保持開發的完整性,萬一真的寫到一半被抓去救火,先用 git stash 的功能把目前的進度封存起來。
5. 說明功能變化而非實作細節修 bug 的話先描述問題或是原始需求:訊息以動詞開頭,像是新增、修改、除錯什麼什麼功能或介面,以非工程師也能看得懂的淺顯文字進行撰寫。
https://oberonlai.blog/git-essentials/
四. 如何使用 Git 快捷鍵
不需要在打 git commit -m ‘Hello’ / git add / git push,有了快捷鍵指令只需要輸入 gcmsg ‘Hello’ / ga / gp,是不是超方便呢!
設定 Git 快捷鍵的方式很多,這篇 [Git教學] 如何設定 Git 快捷鍵指令 介紹了兩種 Git 快捷設定方式。
而筆者自己有裝好用 zsh 終端機,本身就有自帶 git plugin 套件,以下是常用的 git 快捷鍵,提供大家參考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
g=git gst='git status' # 基礎四步驟 add commit push pull ga='git add' gcmsg='git commit -m' gf='git fetch' gl='git pull' ggsup='git branch --set-upstream-to=origin/$(git_current_branch)' # 分支 branch 相關 gb='git branch' gba='git branch -a' gcb='git checkout -b' # 切換版本與合併 gco='git checkout' gm='git merge' |
最後~
▍回顧一下本篇 Git 懶人包入門,我們介紹了以下內容:
其他相關延伸閱讀:
- Visual Studio Code 必備的 5 個擴充和小常識
- [Python教學] 使用 pyenv 和 virtualenv 打造 Python 環境配置
- [Python教學] pip install 指令大全
- [Python教學] 寫給新手的 Python 入門基礎操作
那 [Git教學] 初心者懶人包 Git 入門 就到這邊,感謝收看,如果有任何問題歡迎留言唷!