web-dev-qa-db-fra.com

Existe-t-il une commande ignore pour git comme il en existe pour svn?

Je suis un nouvel utilisateur de git et je commence un nouveau projet. J'ai un tas de fichiers de points que je voudrais ignorer. Existe-t-il une commande ignore pour git comme pour svn?

120
Chris J

Il n'y a pas de commande spéciale git ignore.

Éditez un fichier .gitignore Situé à l'emplacement approprié dans la copie de travail. Vous devriez alors ajouter ceci .gitignore Et le valider. Tous ceux qui cloneront ce repo auront ensuite ces fichiers ignorés.

Notez que seuls les noms de fichiers commençant par / Seront relatifs au répertoire .gitignore. Tous les autres correspond aux fichiers de n'importe quel sous-répertoire.

Vous pouvez également éditer .git/info/exclude Pour ignorer des fichiers spécifiques uniquement dans cette copie de travail. Le fichier .git/info/exclude Ne sera pas validé et ne s'appliquera donc que localement dans cette copie de travail.

Vous pouvez également configurer un fichier global avec des modèles à ignorer avec git config --global core.excludesfile. Ceci s’appliquera localement à toutes les copies de travail git sur le même compte utilisateur.

Exécutez git help gitignore Et lisez le texte pour plus de détails.

131
ndim

Une commande très utile git ignore vient avec la commande géniale tj/git-extras .

Voici quelques exemples d'utilisation:

Lister tous les patterns actuellement ignorés

git ignore

Ajouter un motif

git ignore "*.log"

Ajoutez l'un des modèles de gitignore.io

git ignore-io -a Rails

git-extras fournit beaucoup plus de commandes utiles. Ça vaut vraiment la peine d'essayer.

94
Nicolai Fröhlich

Sous Linux/Unix, vous pouvez ajouter des fichiers au fichier .gitignore à l’aide de la commande echo. Par exemple, si vous voulez ignorer tous les .svn dossiers, lancez-le à la racine du projet:

echo .svn/ >> .gitignore
49
pfrenssen

Vous avez deux moyens d'ignorer les fichiers:

  • .gitignore dans n'importe quel dossier ignorera les fichiers spécifiés dans le fichier pour ce dossier. L'utilisation de caractères génériques est possible.
  • .git/info/exclude contient le motif global ignorer, similaire au global-ignores dans le fichier de configuration de subversions.
15
bluebrother

J'espère que ce n'est pas trop tard.

Si vous utilisez Windows, vous pouvez simplement procéder comme suit pour créer un fichier . Gitignore

echo name_of_the_file_you_want_to_ignore.extension > .gitignore

Pour éditer . Gitignore vous pouvez exécuter

notepad .gitignore
5
Nesar

Créez un fichier nommé .gitignore à la racine de votre référentiel. Dans ce fichier, vous indiquez le chemin relatif de chaque fichier à ignorer sur une seule ligne. Vous pouvez utiliser le * joker.

3
Bruno Reis

En utilisant les réponses déjà fournies, vous pouvez lancer votre propre git ignore commande utilisant un alias . Ajoutez ceci à votre fichier ~/.gitconfig:

ignore = !sh -c 'echo $1 >> .gitignore' -

Ou exécutez cette commande à partir du shell (* nix) de votre choix:

git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'

Vous pouvez également créer un git exclude commande en remplaçant ignore par exclude et .gitignore avec .git/info/exclude Au dessus.

(Si vous ne comprenez pas déjà la différence entre ces deux fichiers après avoir lu les réponses ici, voir cette question .)

2
daemonexmachina

pour les noms absents de la copie de travail ou du référentiel:

echo /globpattern >> .gitignore

ou pour un fichier existant (ligne de commande de type sh):

echo /$(ls -1 file) >> .gitignore   # I use tab completion to select the file to be ignored  
git rm -r --cached file             # if already checked in, deletes it on next commit
2
nrbray

Il est utile de définir un fichier complet . Gitignore pour votre projet. La récompense est une utilisation sûre de la commodité --all ou -a drapeau à des commandes comme add et commit.

En outre, envisagez de définir un fichier global ~/.gitignore pour les modèles généralement ignorés tels que *~, qui couvre les fichiers temporaires créés par Emacs.

1
seh

Vous devez installer git-extras pour cela. Vous pouvez l’installer dans Ubuntu en utilisant apt-get,

$ Sudo apt-get install git-extras

Ensuite, vous pouvez utiliser la commande git ignore.

$ git ignore file_name
1
Vidura Mudalige

Vous pouvez également utiliser gitignore.io de Joe Blau

Soit par l’interface web https://www.gitignore.io/

Ou en installant l’outil CLI, c’est très facile et rapide, il suffit de taper ce qui suit sur votre terminal:

Linux:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc

OSX:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile

Ensuite, vous pouvez simplement taper gi suivi de tous les éléments de la plate-forme/de l’environnement pour lesquels vous avez besoin des critères de gitignore.

Exemple!
Disons que vous travaillez sur un projet de nœud qui inclut Grunt et que vous utilisez Webstorm sur Linux, puis vous voudrez peut-être taper:
gi linux,webstorm,node,grunt > .gitignore (pour créer un nouveau fichier)
ou
gi linux,webstorm,node,grunt >> .gitignore (pour ajouter/ajouter les nouvelles règles à un fichier existant)

bam, vous êtes prêt à partir

0
JorgeArtware