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

Je suis un nouvel utilisateur à 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 ?

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

Modifiez un fichier .gitignore situé à l’emplacement approprié dans la copie de travail. Vous devriez alors append ce .gitignore et le valider. Tous ceux qui clonent ce repository auront tous ces fichiers ignorés.

Notez que seuls les noms de fichiers commençant par / seront relatifs au répertoire dans .gitignore réside .gitignore . Tout le rest correspondra aux fichiers dans n’importe quel sous-répertoire.

Vous pouvez également modifier .git/info/exclude pour ignorer des fichiers spécifiques uniquement dans cette copie de travail. Le .git/info/exclude ne sera pas .git/info/exclude et ne s’appliquera donc que localement dans cette copie de travail.

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

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

Une commande git ignore très utile est fournie avec les tj / git-extras géniaux.

Voici quelques exemples d’utilisation:

Liste tous les modèles actuellement ignorés

 git ignore 

Ajouter un motif

 git ignore "*.log" 

Ajouter un des modèles de gitignore.io

 git ignore-io -a rails 

git-extras fournit beaucoup plus de commandes utiles. Cela vaut vraiment la peine d’essayer.

Sous Linux / Unix, vous pouvez append des fichiers au fichier .gitignore avec la commande echo . Par exemple, si vous souhaitez ignorer tous les dossiers .svn , exécutez-le depuis la racine du projet:

 echo .svn/ >> .gitignore 

Vous avez deux façons d’ignorer les fichiers:

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

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

Si vous êtes sous Windows, vous pouvez simplement faire ce qui 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 

Créez un fichier nommé .gitignore à la racine de votre référentiel. Dans ce fichier, vous placez le chemin d’access relatif à chaque fichier que vous souhaitez ignorer dans une seule ligne. Vous pouvez utiliser le caractère générique * .

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

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

Ou lancez cette commande à partir du shell (* nix) de votre choix:

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

Vous pouvez également créer une commande d’ git exclude en remplaçant ignore par des éléments à exclude et .gitignore par .git/info/exclude ci-dessus.

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

Il est utile de définir un fichier .gitignore complet pour votre projet. La récompense est l’utilisation sûre de l’ --all ou -a pour les commandes comme add et commit .

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

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 

Vous pouvez également utiliser gitignore.io de Joe Blau

Soit à travers l’interface Web https://www.gitignore.io/

Ou en installant l’outil CLI, c’est très simple et rapide, tapez simplement 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

Et puis vous pouvez simplement taper gi suivi par tous les éléments de plate-forme / environnement pour lesquels vous avez besoin de critères gitignore.

Exemple!
Disons que vous travaillez sur un projet de noeud qui inclut le grognement et que vous utilisez webstorm sous linux, alors vous pouvez taper:
gi linux,webstorm,node,grunt > .gitignore (pour créer un nouveau fichier)
ou
gi linux,webstorm,node,grunt >> .gitignore (pour append / append les nouvelles règles à un fichier existant)

bam, tu vas bien

pour les noms non présents dans la copie de travail ou le repository:

 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