Existe-t-il un moyen pratique d'ignorer tous les fichiers et dossiers non suivis dans un référentiel git?
(Je connais les .gitignore
.)
Ainsi, git status
fournirait à nouveau un résultat net.
Existe-t-il un moyen pratique d'ignorer tous les fichiers et dossiers non suivis dans un référentiel git?
(Je connais les .gitignore
.)
Ainsi, git status
fournirait à nouveau un résultat net.
Comme il a déjà été dit, d'exclure du statut de simplement utiliser:
git status -u no
Si vous voulez ignorer actuellement sans traces de fichiers, vous pouvez, à partir de la racine de votre projet, de lancement:
git status --porcelain | grep '^??' | cut -c4- >>.gitignore
Chaque appel ultérieur à l' git status
explicitement ignorer ces fichiers.
Mise à JOUR: la commande ci-dessus a un inconvénient mineur: si vous n'avez pas de .gitignore
encore de fichier de votre gitignore ignore lui-même! Cela se produit parce que le fichier .gitignore
est créé avant l' git status --porcelain
est exécutée. Donc, si vous n'avez pas de .gitignore
le fichier mais je recommande d'utiliser:
echo "$(git status --porcelain | grep '^??' | cut -c4-)" >>.gitignore
Cela crée un shell interne est exécuté qui se termine avant l' .gitignore
le fichier est créé.
EXPLICATION de la COMMANDE que j'ai beaucoup de votes (merci!!) Je pense que je ferais mieux d'expliquer la commande un peu:
git status --porcelain
est utilisé à la place de git status --short
parce que manuel membres de "Donner à la sortie dans un format facile à analyser format pour les scripts. Ceci est similaire à la courte sortie, mais restent stables à travers des versions git et indépendamment de la configuration de l'utilisateur." Nous avons donc à la fois la parseability et de la stabilité;grep '^??'
uniquement des filtres de la ligne commençant par ??
, ce qui, selon le git status manuel, correspondent à la non chaînée des fichiers;cut -c4-
supprime les 3 premiers caractères de chaque ligne, ce qui nous donne le chemin d'accès relatif à la non chaînée fichier;|
symboles sont des tuyaux, qui passent à la sortie de la commande précédente à l'entrée de la commande suivante:>>
symboles sont rediriger les opérateurs, qui ajouter la sortie de la commande précédente dans un fichier.Deux manières:
utilisez l'argument "-u no" pour git-status. Voici un exemple:
[jenny@jenny_vmware:ft]$ git status
# On branch ft
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# foo
nothing added to commit but untracked files present (use "git add" to track)
[jenny@jenny_vmware:ft]$ git status -u no
# On branch ft
nothing to commit (working directory clean)
Ou vous pouvez ajouter les fichiers et les répertoires directs à .gitignore, auquel cas ils ne s'afficheront jamais.
Si vous avez beaucoup de sans traces de fichiers, et ne veulent pas "gitignore
" tous, remarque que, depuis git 1.8.3 (avril 22 2013), git status
citera l' --untracked-files=no
même si vous n'avez pas ajouté cette option en premier lieu!
"
git status
" suggère aux utilisateurs de regarder dans l'aide d'--untracked=no
option quand il prend trop de temps.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.