Je voudrais exposer git archive
, mais avoir un moyen pour les utilisateurs de demander l'exclusion de certains fichiers ou globs, afin que le fichier d'archive résultant ne soit pas très volumineux.Spécifiez l'emplacement du fichier gitattributes personnalisé pour l'archive git
Normalement, vous écririez la liste de fichiers/glob à .gitattributes
et ensuite exécutez git archive
. Mais cela signifie qu'une seule personne peut demander une archive par référentiel sur disque, puisqu'ils doivent écrire leur liste d'ignorés-exportés à .gitattributes
, puis récupérer l'archive avant de céder à quelqu'un d'autre. De plus, cela signifie que les réglages que vous avez effectués auparavant ont été fracassés.
Y at-il un moyen que je pourrais écrire dans/tmp/attributes-1 ou un autre fichier temporaire similaire, et dire git archive
pour lire ce fichier .gitattributes au lieu de $repo/.gitattributes
? En lisant la doc string, ça ne semble pas être le cas.
https://git-scm.com/docs/git-archive
https://git-scm.com/docs/gitattributes
L'extraction d'un arbre de travail temporaire modifie également le droit du dépôt? Donc, je ne peux pas effectuer plus d'une opération à la fois. –
Voici comment vous pouvez extraire un arbre de travail temporaire sans modifier le dépôt: 'tmpdir =" $ (mktemp -d) "; mkdir "$ tmpdir"/worktree; cd "$ tmpdir"/worktree; GIT_INDEX_FILE = "$ tmpdir"/index git --git-dir =/chemin/vers/repo/.git checkout HEAD .' – Leon
@KevinBurke J'ai posté une question séparée avec une réponse: http://stackoverflow.com/questions/ 42322079/comment-sécuriser-checkout-a-temporary-working-tree-from-a-git-repository – Leon