управляйте несколькими рабочими деревьями (Manage multiple working trees)
Примеры (Examples)
You are in the middle of a refactoring session and your boss
comes in and demands that you fix something immediately. You
might typically use git-stash(1) to store your changes away
temporarily, however, your working tree is in such a state of
disarray (with new, moved, and removed files, and other bits and
pieces strewn around) that you don't want to risk disturbing any
of it. Instead, you create a temporary linked working tree to
make the emergency fix, remove it when done, and then resume your
earlier refactoring session.
$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... hack hack hack ...
$ git commit -a -m 'emergency fix for boss'
$ popd
$ git worktree remove ../temp