Git archive including the actual repository?
-
22-06-2021 - |
Question
I need to create an archive of my Git project, ignoring and leaving out files specified by .gitignore
, but including the actual .git
repository folder. Simply running git archive master
leaves out the .git
folder.
Is there a way to make git archive
include the .git
folder but still ignore files specified by .gitignore
?
Solution 2
Looks like doing something like
# copy over all project files except for those ignored
git clone /path/to/repository /path/to/output
# create a tar.gz archive of the project location
tar czvf projectExport.tar.gz /path/to/output
# remove the cloned directory
rm -fr /path/to/output
gets the job done. It's not the most beautiful solution in the world, but it looks like it works.
OTHER TIPS
Since git archive
just produces a tar archive you can work on that file with tar
directly.
$ git archive HEAD > tar.tar
$ tar -rf tar.tar .git
tar's -r
option appends the files given to the archive being worked on (specified after -f
). Check tar's man page for the intimidating list of features tar has.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow