# Files and directories with the attribute export-ignore won’t be added to
# archive files. See http://git-scm.com/docs/gitattributes for details.
/.gitattributes       export-ignore
/website/             export-ignore
