Joshua Shrader <jshrader83@xxxxxxxxx> writes: > git checkout allows one to checkout a particular version of a certain > path in the working directory. Are there accessible plumbing commands > that can be used to accomplish the same thing, but change the target > directory. For example, if I wanted to checkout a certain path, but > wanted to check it out somewhere external to my working directory / > repository? Porcelain way: check out first example in git-archive(1) manpage EXAMPLES ======== git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -) Create a tar archive that contains the contents of the latest commit on the current branch, and extract it in the /var/tmp/junk directory. Plumbing way: after preparing index (it can be separate file than .git/index), use "git checkout-index" as desceived in second example on manpage: EXAMPLES ======== Using `git checkout-index` to "export an entire tree" The prefix ability basically makes it trivial to use git check- out-index as an "export as tree" function. Just read the desired tree into the index, and do: $ git checkout-index --prefix=git-export-dir/ -a `git checkout-index` will "export" the index into the specified direc- tory. The final "/" is important. The exported name is literally just pre- fixed with the specified string -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html