Git Worktree Operations: Difference between revisions
Jump to navigation
Jump to search
Line 21: | Line 21: | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
cd ../playground-temp | cd ../playground-temp | ||
</syntaxhighlight> | |||
After operating changes, commit as usual, and possibly remove the working tree: | |||
<syntaxhighlight lang='bash'> | |||
git commit -m "some work" | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cd ../playground | |||
git worktree remove ../playground-temp | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 22:08, 10 July 2020
Internal
Typical Working Tree Workflow
Assuming that a developer is in the middle of a major refactoring on a branch and it is impractical to commit a stable checkpoint, or even stash, switching to a different branch while leaving the current branch in the state it is in involves:
git worktree add ../playground-temp /existing/task/branch/I/need/to/work/on
It is also possible to create a new branch on-the-fly. The branch is based on the branch specified in command line:
git worktree add -b temp-emergency-branch ../playground-temp /existing/task/branch/I/need/to/work/on
To interact with the newly checked out branch in the new working tree, simply go to the working tree directory:
cd ../playground-temp
After operating changes, commit as usual, and possibly remove the working tree:
git commit -m "some work"
cd ../playground
git worktree remove ../playground-temp