I've had some problems with this, and it should be known that if you freshly clone a repository (which by default only pulls the default master branch), and then try to use git worktree add ../develop (for example), it will NOT automatically check out the existing remote branch "develop" from the remote repository. It will create a local branch of the same name which will be an exact copy of master. You need to have previously checked out or fetched these remote branches first.