Je regarde le man page for git ls-tree. Il a une option pour le chemin.git ls-tree db/*. Rb ne fonctionne pas
J'ai un répertoire appelé db et dans ce répertoire j'ai quelques fichiers .rb.
Alors pourquoi ma commande omet
git ls-tree db/*.rb
Je regarde le man page for git ls-tree. Il a une option pour le chemin.git ls-tree db/*. Rb ne fonctionne pas
J'ai un répertoire appelé db et dans ce répertoire j'ai quelques fichiers .rb.
Alors pourquoi ma commande omet
git ls-tree db/*.rb
D'abord le actual man page is here. C'est la page de la dernière version de Git.
En second lieu, cette page homme officiel dit:
Liste le contenu d'un objet arbre donné, comme ce «
/bin/ls -a
» fait dans le répertoire de travail courant.
Notez que:
le comportement est légèrement différent de celui de «
/bin/ls
» en ce que les chemins représentent juste une liste de modèles pour correspondre, par exemple le nom du répertoire spécifiant (sans-r
) se comportera différemment, et l'ordre des arguments n'a pas d'importance.le comportement est similaire à celui de "
/bin/ls
" en ce que les chemins sont pris par rapport au répertoire de travail courant.
E.g. Lorsque vous êtes dans un sous-répertoire qui a un répertoire dir, vous pouvez exécutergit ls-tree -r HEAD dir
pour afficher le contenu de l'arborescence (c'est-à-diresub/dir
dansHEAD
).
Vous ne voulez pas donner un arbre qui n'est pas au niveau racine (par exemplegit ls-tree -r HEAD:sub dir
) dans ce cas, car cela entraînerait la demande desub/sub/dir
dans le commitHEAD
. Toutefois, le répertoire de travail en cours peut être ignoré en passant l'option--full-tree
.
Dans votre cas:
git ls-tree HEAD db/*.rb
pourrait mieux fonctionner.
Remarque: en fonction de ce que vous voulez faire, 'git ls-files 'pourrait être plus approprié (http://kernel.org/pub/software/scm/git/docs/git-ls-files.html) – VonC