今天再來點相對輕鬆、好理解的話題~
在團隊協作之前,有一件事絕對不能忽略:Git 要知道你是誰,否則 commit 記錄可能會顯示「unknown」,團隊成員也無法追蹤修改歷程。
這時,git config
就像 Git 的魔法設定工具 🧙♂️,讓你可以調整 Git 行為、指定身份、甚至可以幫你省下很多手動操作的麻煩,提升開發效率和協作體驗。
git config
是什麼?簡單來說,就像是 給 Git 下的指令說明書,告訴它:
換句話說,設定得好,Git 用起來就順手、愉快。
Git 的設定分為三個層級:
層級 | 說明 | 存放位置 | 指令示例 |
---|---|---|---|
system | 影響整台電腦所有使用者與專案 | /etc/gitconfig |
git config --system core.editor vim |
global | 影響當前使用者所有 repository | ~/.gitconfig |
git config --global user.name "Sean Shin" |
local | 僅影響當前 repository | .git/config |
git config user.email "project@example.com" |
設定優先順序:local > global > system
層級較低的設定會覆蓋層級較高的設定,例如專案設定會覆蓋全域設定。
Git 在 commit 時會記錄作者資訊,沒有設定會出現「unknown」,push 也可能被拒絕。
# 全域設定
git config --global user.name "Sean ShinAgri"
git config --global user.email "sean@example.com"
# 專案專屬設定
git config user.name "ProjectX Dev"
git config user.email "projectx@example.com"
# 查看設定
git config --list
git config user.name
提交 commit 時,Git 會呼叫預設編輯器。如果不設定,可能會跳出 Vim 或 Nano。
git config --global core.editor "code --wait"
現在提交 commit 時會自動開啟 VS Code,編輯更直覺。
git config --global color.ui auto
開啟後,Git 指令輸出會用顏色區分新增、修改、刪除,資訊更清晰。
別名可以簡化常用指令,提高操作效率:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.cm "commit -m"
git config --global alias.hist "log --oneline --graph --decorate --all"
使用範例:
git st
git co main
git br
git cm "更新 README"
git hist
這樣你就可以用 git co
代替 git checkout
等等,簡短的指令來提高效率。
git config --list
這個指令會列出目前所有有效設定,方便檢查全域與專案層級的設定是否正確。
git config --list
檢查設定,理解全域與專案設定差異。git config
是打造專屬 Git 工作環境的關鍵。