Je suis un nouvel utilisateur gitet 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 gitcomme il y en a pour svn?
Je suis un nouvel utilisateur gitet 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 gitcomme il y en a pour svn?
Réponses:
Il n'y a pas de git ignorecommande spéciale .
Modifiez un .gitignorefichier situé à l'emplacement approprié dans la copie de travail. Vous devez ensuite ajouter ceci .gitignoreet 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 .gitignoredans lequel réside. Tout le reste correspondra aux fichiers dans n'importe quel sous-répertoire.
Vous pouvez également modifier .git/info/excludepour ignorer des fichiers spécifiques uniquement dans cette copie de travail. Le .git/info/excludefichier 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 gitignoreet 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 echocommande. Par exemple, si vous souhaitez ignorer tous les .svndossiers, 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\ >> .gitignoreet echo /nbproject/project.xml\ >> .gitignore.
Vous avez deux manières d'ignorer les fichiers:
.gitignoredans 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/excludecontient le modèle d'ignorer global, similaire au global-ignoresfichier de configuration in subversions..gitignorefichier 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 .gitignorefichier), contrairement au cas des svn:ignoreproprié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 ignorecommande 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 excludecommande en remplaçant ignorepar excludeet .gitignorepar.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 --allou le -adrapeau aux commandes comme addetcommit .
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 gisuivi 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