Existe-t-il un moyen de ne pas afficher les files ignorés dans .gitignore
?
Tree prend en charge le drapeau -I
.
-I pattern Do not list those files that match the wild-card pattern.
Par exemple,
tree -I "$( tr '\n' '\|' < $( git config --get core.excludesfile ) )" /foo
Pour plus de commodité, vous pourriez mettre cela dans une fonction:
function gtree { git_ignore_file=$( git config --get core.excludesfile ) if [[ -f ${git_ignore_file} ]] ; then tree -I"$( tr '\n' '\|' < "${git_ignore_file}" )" "${@}" else tree "${@}" fi }
git config --get core.excludesfile
returnnera un file dans la priorité suivante: local (repo/.git/config) > global (~/.gitconfig) > system (default?)
.
si vous voulez les exclure tous, vous pouvez utiliser le drapeau --get-all
au lieu de --get
. par exemple:
tree -I "$( cat $( git config --get-all core.excludesfile ) 2>/dev/null | tr '\n' '\|' ) )" /bar