web-dev-qa-db-fra.com

Comment utiliser la commande gitignore dans git

Je travaille pour la première fois sur git. J'ai poussé ma branche sur github et cela a poussé toute la bibliothèque et les documents dans le github. Maintenant que puis-je faire et comment puis-je utiliser la commande gitignore pour éviter à nouveau la même erreur.

85
user1559230

Donc, en fonction de ce que vous avez dit, ces fichiers sont des bibliothèques/documentations que vous ne voulez pas supprimer, mais également ne pas utiliser Push to github. Supposons que votre projet se trouve dans le dossier your_project et dans un répertoire doc: your_project/doc.

  1. Supprimez-le du répertoire du projet (sans le supprimer réellement): git rm --cached doc/* 
  2. Si vous n'avez pas encore de .gitignore, vous pouvez en créer un à l'intérieur du dossier de votre projet: project/.gitignore
  3. Mettez doc/* dans le .gitignore 
  4. Définissez le fichier à valider: git add project/.gitignore
  5. Commit: git commit -m "message"
  6. Poussez votre changement à github.
116
u19964

Si vous n'avez pas de fichier .gitignore, utilisez d'abord:

touch .gitignore

puis cette commande pour ajouter des lignes dans votre fichier gitignore:

echo 'application/cache' >> .gitignore

Attention aux nouvelles lignes

22
Serdar Değirmenci

git ignore est une convention dans git. Définir un fichier avec le nom .gitignore Ignorera les fichiers de ce répertoire et des répertoires plus profonds qui correspondent aux modèles Qu'il contient. L’utilisation la plus courante consiste simplement à n’avoir qu’un seul fichier. Mais vous pouvez en ajouter d’autres plus profondément dans la structure de votre répertoire Pour ignorer encore plus de modèles ou cesser de les ignorer pour ce répertoire

De même, vous pouvez "annuler la suppression" de certains fichiers dans une structure plus profonde ou un sous-ensemble spécifique .__ (c.-à-d. Que vous ignorez * .log mais que vous souhaitez toujours suivre important.log) en spécifiant des modèles commençant par !. par exemple:

*.log !important.log

ignorera tous les fichiers journaux mais suivra les fichiers nommés important.log

Si vous suivez les fichiers que vous vouliez ignorer, supprimez-les, ajoutez le modèle àvotre fichier .gitignore et ajoutez toutes les modifications.

# delete files that should be ignored, or untrack them with 
# git rm --cached <file list or pattern>

# stage all the changes git commit
git add -A 

à partir de maintenant, votre référentiel ne les fera pas suivre.

Si vous souhaitez nettoyer votre histoire, vous pouvez

# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10 

puis marquez chaque commit avec e ou edit. Enregistrez le plan. Maintenant, git va rejouer Votre historique s’arrêtant à chaque commit marqué avec e. Ici, vous supprimez les fichiers Que vous ne voulez pas, git add -A et ensuite git rebase --continue jusqu'à ce que vous ayez terminé Votre histoire sera propre. Assurez-vous de dire à vos collègues que vous devez forcer Push et qu'ils doivent rebaser ce qu'ils n'ont pas encore poussé. 

10
Adam Dymitruk

Votre répertoire racine git contient un fichier nommé .gitignore. C'est un fichier, pas une commande. Vous devez simplement insérer les noms des fichiers que vous souhaitez ignorer et ils seront automatiquement ignorés. Par exemple, si vous voulez ignorer tous les fichiers de sauvegarde automatique emacs, qui se terminent par ~, vous pouvez ajouter cette ligne:

*~

Si vous souhaitez supprimer les fichiers indésirables de votre branche, vous pouvez utiliser git add -A, qui " supprime les fichiers qui ne figurent plus dans l'arborescence de travail ".

Remarque: Ce que j'ai appelé le "répertoire racine git" est simplement le répertoire dans lequel vous avez utilisé git init pour la première fois. C'est également à cet endroit que vous pouvez trouver le répertoire .git.

9
LonelyWebCrawler

Il y a plusieurs façons d'utiliser gitignore git

  • en spécifiant par le nom de fichier spécifique. par exemple, ignorer un fichier
    appelé readme.txt, il suffit d’écrire readme.txt dans un fichier .gitignore.
  • vous pouvez également écrire le nom de l'extension de fichier. Par exemple, pour
    ignore tous les fichiers .txt, écrivez * .txt.
  • vous pouvez également ignorer un dossier entier. par exemple, vous voulez ignorer
    dossier nommé test. Ensuite, écrivez simplement test/dans le fichier.

créez simplement un fichier .gitignore et écrivez dans ce que vous voulez ignorer un exemple de fichier gitignore:

# NPM packages folder.
node_modules

# Build files
dist/

# lock files
yarn.lock
package-lock.json

# Logs
logs
*.log
npm-debug.log*

# node-waf configuration
.lock-wscript

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Jest Coverage
coverage

.history/

Vous pouvez trouver plus d'informations sur la documentation git gitignore

2
Afaq Ahmed Khan

sur mon mac, j'ai trouvé ce fichier .gitignore_global ..il était caché dans mon répertoire personnel, alors faites un ls -altr pour le voir. 

J'ai ajouté des fichiers Eclipse que je voulais ignorer. le contenu ressemble à ceci:

 *~
.DS_Store
.project
.settings
.classpath
.metadata
1
j2emanue

Si vous n'avez pas de fichier .gitignore. Vous pouvez en créer un nouveau en 

touch .gitignore

Et vous pouvez exclure un dossier en entrant la commande ci-dessous dans le fichier .gitignore 

/folderName

Transférez ce fichier dans votre référentiel git de sorte que, lorsqu'une nouvelle personne duplique votre projet, elle n'a plus besoin de l'ajouter.

0