Git 進階
Amanda Crawford-Adamo
Software and Data Engineer
Git Worktree 指令
git worktree

此表比較在開發流程中使用 git worktree 與 git switch。 $$
| Git Worktree | Git Switch |
|---|---|
| 多個分支同時啟用 | 一次僅一個啟用分支 |
| 各自獨立的目錄 | 單一工作目錄 |
| 不需 stash 變更 | 可能需要 stash |
從 <branch> 建立新的 work tree 至目錄 <path>
git worktree add <path> <branch>
範例
從 bugfix/data-validation 分支建立新的 work tree 至 ../etl-bugfix 目錄
git worktree add ../etl-bugfix bugfix/data-validation
git worktree list 範例輸出
$ git worktree list
flight-pipeline a1b2c3d [main]
flight-pipeline-feature e4f5g6h [feature]
flight-pipeline-hotfix i7j8k9l [hotfix]
git worktree remove <path> 範例輸出
$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
適用情境:
需再評估:
使用 Git worktrees 的注意事項:
Git 進階