For me, git worktree is the biggest improvement since a long time. I’m working in enterprise software development. There, it is very common that you have to maintain old versions like what you released 3 years ago. Of course you have a branch for each version so that you can easily switch to it and fix a bug. However, switching is expensive, because in the meantime you completely restructured the repository and maybe build system. If you switch, your IDE will run mad trying to adapt the project settings.
With worktree, you can avoid that constant reconfiguration. Checkout those old branches in separate folders using worktree. For each branch, you got an independent IDE project.
Of course this could have been done in the past by cloning the repo several times and this has been my approach so far. However, that also meant wasting hardrive space and worse needing to fetching the same changes from the repo several times.
Related Posts:
- How do I delete a Git branch locally and remotely?
- How do I rename a local Git branch?
- What does cherry-picking a commit with Git mean?
- How do I undo the most recent local commits in Git?
- Undo a Git merge that hasn’t been pushed yet
- fatal: Not a git repository (or any of the parent directories): .git [duplicate]
- Git refusing to merge unrelated histories on rebase
- What is the difference between git push origin and git push origin master
- Git pushing to remote branch
- git – remote add origin vs remote set-url origin
- How do I undo ‘git add’ before commit?
- Git: Message ‘src refspec master does not match any’ when pushing commits in Git
- How can I see the differences between two branches?
- How to upgrade Git on Windows to the latest version
- Need to reset git branch to origin version
- How do I push a new local branch to a remote Git repository and track it too?
- git: fatal: Could not read from remote repository
- Windows git “warning: LF will be replaced by CRLF”, is that warning tail backward?
- How to change the URI (URL) for a remote Git repository?
- How can I merge multiple commits onto another branch as a single squashed commit?
- How do I resolve git saying “Commit your changes or stash them before you can merge”?
- Why does git say “Pull is not possible because you have unmerged files”?
- How do I rename both a Git local and remote branch name?
- Pushing empty commits to remote
- How do I ignore an error on ‘git pull’ about my local changes would be overwritten by merge?
- Stash only one file out of multiple files that have changed with Git?
- What is git fast-forwarding? [duplicate]
- How to cherry-pick multiple commits
- fatal: The current branch master has no upstream branch
- Another git process seems to be running in this repository
- rejected master -> master (non-fast-forward)
- How to cherry-pick multiple commits
- Reset local repository branch to be just like remote repository HEAD
- What is “origin” in Git?
- Another git process seems to be running in this repository
- How do you stash an untracked file?
- How do I call git diff on the same file between 2 different local branches?
- How to git rebase a branch with the onto command?
- Remove a git commit which has not been pushed
- Can I share my private GitHub repository by link?
- How can I make Git “forget” about a file that was tracked, but is now in .gitignore?
- How to remove files from git staging area?
- How to rename a directory/folder on GitHub website?
- How do I ignore an error on ‘git pull’ about my local changes would be overwritten by merge?
- Create a git patch from the uncommitted changes in the current working directory
- How to undo git reset –soft to get my changes back?
- git push says “everything up-to-date” even though I have local changes
- .gitignore and “The following untracked working tree files would be overwritten by checkout”
- How to create a .gitignore file
- How do I rename a repository on GitHub?
- git – Your branch is ahead of ‘origin/master’ by 1 commit
- git: fatal: Could not read from remote repository
- Why does git say “Pull is not possible because you have unmerged files”?
- How to see the changes between two commits without commits in-between?
- Git: Installing Git in PATH with GitHub client for Windows
- How to delete a stash created with git stash create?
- Git: How to update/checkout a single file from remote origin master?
- ERROR: Error cloning remote repo ‘origin’
- My new Github page isn’t showing up
- How can I remove a commit on GitHub?
- What is the difference between ‘git remote update’, ‘git fetch’ and ‘git pull’?
- GitLab remote: HTTP Basic: Access denied and fatal Authentication
- Why should I use core.autocrlf=true in Git?
- How can I add a blank directory to a Git repository?
- Git Extensions: Win32 error 487: Couldn’t reserve space for cygwin’s heap, Win32 error 0
- What does git push origin HEAD mean?
- Delete branches in Bitbucket
- What to gitignore from the .idea folder?git intellij-idea gitignore webstorm
- Is it possible to pull just one file in Git?
- Git lfs – “this exceeds GitHub’s file size limit of 100.00 MB”
- How do you clone a Git repository into a specific folder?
- git checkout master error: the following untracked working tree files would be overwritten by checkout
- How to update a branch with master on GitHub
- Can I arrange repositories into folders on Github?
- How can I see the changes in a Git commit?
- Completely cancel a rebase
- How to discard local changes and pull latest from GitHub repository
- Git removing upstream from local repository
- Git: What’s the best practice to “git clone” into an existing folder?
- Git pull – Please move or remove them before you can merge
- Unlink of file Failed. Should I try again?
- Resetting remote to a certain commit
- Git merge reports “Already up-to-date” though there is a difference
- git-diff to ignore ^M
- Change the location of the ~ directory in a Windows install of Git Bash
- Differences between Commit, Commit and Push, Commit and Sync
- How to find which git branch I am on when my disk is mounted on other server
- Git checkout – switching back to HEAD
- How to create a new branch from a tag?
- How to modify a specified commit?
- How can I push a specific commit to a remote, and not previous commits?
- Git ignore local file changes
- Import existing source code to GitHub
- git checkout all the files
- Git Workflow for Large, Live Site?
- Workflow for working with git and WordPress
- Git beginner: Keeping track of on-server changes
- best practice on pushing staging development (database/uploads) to the live server
- Is it possible to checkout a beta version of WordPress via github?
- how can I create a WP offline environment before releasing the websites? [closed]