工程部署
Version ControlDevOps
Git 版本控制
Git 是現代軟體開發的基石。無論是個人開發還是團隊協作,掌握 Git 都能讓你更自信地管理程式碼變更、實驗新功能以及修復錯誤。
初始設定
在開始使用 Git 之前,請確保設定好你的使用者名稱與 Email,這將作為你提交紀錄的身份標識。
Terminal
# 設定使用者名稱
git config --global user.name "Your Name"
# 設定 Email
git config --global user.email "your.email@example.com"
# 檢查設定
git config --list 基礎指令
這是 Git 的日常工作流程:修改檔案 -> 加入暫存區 (Stage) -> 提交 (Commit)。
1. 初始化與狀態
Terminal
# 初始化專案
git init
# 查看檔案狀態
git status2. 暫存與提交
Terminal
# 加入所有變更
git add .
# 提交變更
git commit -m "feat: initial project structure"3. 查看紀錄
Terminal
# 查看提交歷史
git log --oneline --graph --all
# 查看檔案差異
git diff4. 撤銷變更
Terminal
# 捨棄工作目錄的修改 (危險!)
git restore .
# 取消暫存 (Unstage)
git restore --staged . 分支操作
分支 (Branch) 讓你可以平行開發新功能,而不影響主程式碼 (main)。
Terminal
# 建立並切換到新分支
git checkout -b feature/login-page
# 或者使用新語法
git switch -c feature/login-page
# 切換回主分支
git switch main
# 合併分支 (將 feature 合併進 main)
git merge feature/login-page
# 刪除分支
git branch -d feature/login-page 遠端協作
與 GitHub 或 GitLab 等遠端倉庫同步。
Terminal
# 複製遠端專案
git clone https://github.com/username/repo.git
# 加入遠端倉庫
git remote add origin https://github.com/username/repo.git
# 推送分支
git push -u origin main
# 拉取更新
git pull origin main 進階技巧
暫存工作 (Stash)
當你正在開發功能 A,突然需要切換去修復 Bug,但又不想提交半成品的程式碼時,Stash 非常好用。
Terminal
# 暫存當前修改
git stash
# 查看暫存列表
git stash list
# 恢復最近一次暫存
git stash pop時光倒流 (Reset)
Reset 可以用來撤銷 Commit。請小心使用 --hard。
Terminal
# Soft Reset: 撤銷 Commit,但保留檔案修改 (回到暫存區)
git reset --soft HEAD~1
# Hard Reset: 徹底捨棄修改,回到上一個版本 (危險!)
git reset --hard HEAD~1摘櫻桃 (Cherry-pick)
將某個特定的 Commit 複製到當前分支。
Terminal
# 複製特定 Commit
git cherry-pick <commit-hash>變基 (Rebase)
Rebase 可以讓提交歷史變成一直線,比 Merge 更整潔。但絕對不要在多人共用的分支上使用 Rebase。
Terminal
# 將當前分支的基底移到 main 的最新狀態
git rebase main
# 互動式 Rebase (整理 Commit,例如合併多個 Commit)
git rebase -i HEAD~3 最佳實踐
Conventional Commits
使用統一的格式撰寫 Commit Message,有助於自動化生成 Changelog。
- feat: 新增功能
- fix: 修復 Bug
- docs: 文件修改
- style: 格式調整 (不影響程式碼)
- refactor: 重構
- chore: 建置過程或輔助工具的變動
.gitignore
務必忽略不需要進入版本控制的檔案,例如依賴套件、環境變數檔與建置產物。
.gitignore
node_modules/
.output/
.nuxt/
.env
dist/
*.log