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
?
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.
Une commande très utile git ignore vient avec la commande géniale tj/git-extras .
Voici quelques exemples d'utilisation:
git ignore
git ignore "*.log"
git ignore-io -a Rails
git-extras fournit beaucoup plus de commandes utiles. Ça vaut vraiment la peine d'essayer.
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
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.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
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.
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 .)
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
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.
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 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)
ougi linux,webstorm,node,grunt >> .gitignore
(pour ajouter/ajouter les nouvelles règles à un fichier existant)
bam, vous êtes prêt à partir