Je suis un nouvel utilisateur git
et je démarre un nouveau projet. J'ai un tas de fichiers de points que je voudrais ignorer. Y a-t-il une commande ignorer pour git
comme il y en a pour svn
?
Je suis un nouvel utilisateur git
et je démarre un nouveau projet. J'ai un tas de fichiers de points que je voudrais ignorer. Y a-t-il une commande ignorer pour git
comme il y en a pour svn
?
Réponses:
Il n'y a pas de git ignore
commande spéciale .
Modifiez un .gitignore
fichier situé à l'emplacement approprié dans la copie de travail. Vous devez ensuite ajouter ceci .gitignore
et le valider. Tous ceux qui clonent ce dépôt verront ces fichiers ignorés.
Notez que seuls les noms de fichiers commençant par /
seront relatifs au répertoire .gitignore
dans lequel réside. Tout le reste 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
fichier ne sera pas validé et ne s'appliquera donc que localement dans cette copie de travail unique.
Vous pouvez également configurer un fichier global avec des modèles à ignorer git config --global core.excludesfile
. Cela 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 git ignore très utile est fournie avec l'impressionnant 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. Vaut vraiment la peine d'essayer.
Sous Linux / Unix, vous pouvez ajouter des fichiers au fichier .gitignore avec la echo
commande. Par exemple, si vous souhaitez ignorer tous les .svn
dossiers, exécutez ceci à partir de la racine du projet:
echo .svn/ >> .gitignore
/
'\' précédent et final (pour créer une nouvelle ligne), comme echo /nbproject/project.properties\ >> .gitignore
et echo /nbproject/project.xml\ >> .gitignore
.
Vous avez deux manières d'ignorer les fichiers:
.gitignore
dans n'importe quel dossier ignorera les fichiers tels que spécifiés dans le fichier pour ce dossier. L'utilisation de jokers est possible..git/info/exclude
contient le modèle d'ignorer global, similaire au global-ignores
fichier de configuration in subversions..gitignore
fichier qui ne contiennent pas '/' sont mis en correspondance récursivement (c'est-à-dire également dans tous les sous-répertoires du répertoire dans lequel se trouve le .gitignore
fichier), contrairement au cas des svn:ignore
propriétés de répertoire dans Subversion.
J'espère qu'il 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 mettez le chemin relatif de chaque fichier que vous souhaitez ignorer sur 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 git ignore
commande en 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 une git exclude
commande en remplaçant ignore
par 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, lisez cette question .)
pour les noms non présents dans la copie de travail ou le repo:
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 .gitignore complet pour votre projet. La récompense est une utilisation sûre de la pratique --all
ou le -a
drapeau aux commandes comme add
etcommit
.
Pensez également à définir un fichier global ~ / .gitignore pour les modèles couramment 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
brew install git-extras
.
Vous pouvez également utiliser gitignore.io de Joe Blau
Soit via 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 de tous les éléments de plate-forme / environnement pour lesquels vous avez besoin des critères gitignore.
Exemple!
Disons que vous travaillez sur un projet de nœud qui inclut grunt et que vous utilisez webstorm sur Linux, alors vous voudrez peut-être taper:
gi linux,webstorm,node,grunt > .gitignore
(pour créer un tout nouveau fichier)
ou
gi linux,webstorm,node,grunt >> .gitignore
(pour ajouter / ajouter les nouvelles règles à un fichier existant )
bam, tu es prêt à partir