使用工作樹

你正在開發一項新功能,而你的老闆要求你立即修復一些東西。你通常可能希望使用 git stash 暫時儲存你的更改。但是,此時你的工作樹處於混亂狀態(新檔案,移動檔案和刪除的檔案以及散落的其他零碎檔案)並且你不想打擾你的進度。

通過新增工作樹,你可以建立臨時連結工作樹以進行緊急修復,完成後將其刪除,然後恢復先前的編碼會話:

$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... work work work ...
$ git commit -a -m 'emergency fix for boss'
$ popd
$ rm -rf ../temp
$ git worktree prune

注意:在此示例中,修復程式仍在緊急修復分支中。此時你可能想要 git mergegit format-patch 然後刪除緊急修復分支。