gitsubdirectorygit-archive

git-archive a subdirectory --


I'm using git-archive to archive a subdirectory in a git repo, like so:

git archive -o ../subarchive.zip HEAD subdir/*

However the resulting archive maintains the subdir/ directory structure, i.e. the contents are:

subdir/
   whatever.js
   morestuff.js

When I actually want whatever.js and morestuff.js at the root of the archive.

How do? Thanks.


Solution

  • You can do that like this:

    git archive -o ../subarchive.zip HEAD:subdir
    

    By the way, an easy way to play with the command and see what it will generate is if you use it in this form:

    git archive --format=tar HEAD:subdir | tar t
    git archive --format=tar HEAD subdir | tar t
    # ... and so on ...
    

    Once you see what you're looking for, you can change the format and use the -o flag to actually create the archive.