I have a working tree on my local machine, and a remote repository as well. Let’s say I want to quickly build an earlier version of my project at a known tag without disturbing the current state of the working version. My inclination is to checkout a separate tree, which seems to go like in this question:
Download a specific tag with Git
With a clone from the remote repository followed by a checkout in there. But the clone does a lot of work and pulls down all the revision state. Is there any lightweight way of saying “grab me the current state of the world at this commit/tag and spray it into this directory?” (Further revision control not necessary– it’s “read only” as far as Git should be concerned.)
Maybe not– just checking.
Thanks.
If it’s all local, you can do this:
That’s assuming you don’t care about the other tree having any git information at all. If you want it to, you could use the git-new-workdir script, which basically creates a clone, except populating the
.gitdirectory with symlinks back to the original repo, so that it takes no extra disk space. It’s a nice approach – no extra disk space, and you can use one repo for development, one for testing, etc.