github/gitignore · Ruby.gitignore
Modèle .gitignore Ruby expliqué
Explique pourquoi Ruby.gitignore ignore les paquets gem, le dossier d'installation de Bundler, les résultats de tests et la documentation générée, et donne les critères de commit pour Gemfile.lock et .ruby-version.
Ruby.gitignore est destiné aux projets qui créent des gems ou développent des scripts et applications Ruby. La plupart des règles commencent par / et sont ancrées à la racine du dépôt, ce qui limite le risque d'ignorer par erreur un sous-dossier du même nom.
Pour une application Rails, le modèle Rails couvre davantage de cas que celui-ci. Si vous sélectionnez les deux, les règles qui se recoupent sont éliminées par la suppression des doublons.
Explication règle par règle
| Motif | Ce qui est ignoré et pourquoi |
|---|---|
*.gem/pkg/ | Paquets gemFichiers de paquet créés par gem build et rake build. Ce sont les artefacts publiés sur RubyGems. |
/.bundle//vendor/bundle/lib/bundler/man/ | Bundler.bundle/ contient la configuration locale de Bundler et vendor/bundle les gems installées avec bundle install --path. On peut les réinstaller sur une autre machine. |
/coverage//spec/reports//spec/examples.txt/test/tmp//test/version_tmp/ | Résultats de testsRésultats d'exécution comme ceux de SimpleCov, les rapports RSpec et examples.txt, où RSpec mémorise les exemples en échec. |
/.yardoc//_yardoc//doc//rdoc/ | Documentation généréeDocumentation d'API et caches créés par YARD et RDoc. Ils sont régénérés à partir des commentaires du code source. |
/tmp/.byebug_history.repl_history*.rbc/.config/InstalledFiles | Fichiers temporaires et de débogueurDossier temporaire, historique de byebug et du REPL, bytecode Rubinius et journal d'installation de setup.rb. |
.rvmrc | Configuration du gestionnaire de versionsAncien fichier de configuration de projet de RVM ; comme il peut exécuter du code shell, on évite de le partager. Aujourd'hui, on utilise surtout .ruby-version. |
Points d'attention en pratique
- Comme l'indiquent les commentaires du modèle, pour une application, on commite
Gemfile.locket.ruby-version; pour une bibliothèque (gem) destinée à plusieurs environnements, on les ignore parfois. /doc/ignore tout le dossierdocà la racine. Si vous placez de la documentation écrite à la main dansdoc/, supprimez cette ligne et indiquez seulement le chemin généré, par exemple/doc/api/.- La règle
.envn'apparaît qu'en commentaire dans ce modèle : si vous utilisez un fichier de variables d'environnement, ajoutez-la vous-même.
Modèle d'origine
Ruby.gitignore
*.gem*.rbc/.config/coverage//InstalledFiles/pkg//spec/reports//spec/examples.txt/test/tmp//test/version_tmp//tmp/# Used by dotenv library to load environment variables.# .env# Ignore Byebug command history file..byebug_history## Specific to RubyMotion:.dat*.repl_historybuild/*.bridgesupportbuild-iPhoneOS/build-iPhoneSimulator/## Specific to RubyMotion (use of CocoaPods):## We recommend against adding the Pods directory to your .gitignore. However# you should judge for yourself, the pros and cons are mentioned at:# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control## vendor/Pods/## Documentation cache and generated files:/.yardoc//_yardoc//doc//rdoc/## Environment normalization:/.bundle//vendor/bundle/lib/bundler/man/# for a library or gem, you might want to ignore these files since the code is# intended to run in multiple environments; otherwise, check them in:# Gemfile.lock# .ruby-version# .ruby-gemset# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:.rvmrc# Used by RuboCop. Remote config files pulled in from inherit_from directive.# .rubocop-https?--*
Source des modèles : github/gitignore/Ruby.gitignore @356fd7b (2026-09-11) · CC0-1.0