github/gitignore · Ruby.gitignore
Template .gitignore do Ruby explicado
Explica por que o Ruby.gitignore ignora pacotes gem, a pasta de instalação do Bundler, resultados de testes e documentação gerada, e os critérios para commitar Gemfile.lock e .ruby-version.
O Ruby.gitignore é para projetos que criam gems ou desenvolvem scripts e aplicações em Ruby. A maioria das regras começa com / e fica fixa na raiz do repositório, então é pouco provável ignorar por engano subpastas com o mesmo nome.
Se for uma aplicação Rails, o template do Rails cobre mais casos do que este. Se selecionar os dois, a remoção de duplicatas organiza as regras que se sobrepõem.
Explicação regra por regra
| Padrão | O que ignora e por quê |
|---|---|
*.gem/pkg/ | Pacotes gemSão os arquivos de pacote gerados por gem build e rake build. São o artefato publicado no RubyGems. |
/.bundle//vendor/bundle/lib/bundler/man/ | Bundler.bundle/ contém a configuração local do Bundler, e vendor/bundle, as gems instaladas com bundle install --path. Podem ser reinstaladas em outro computador. |
/coverage//spec/reports//spec/examples.txt/test/tmp//test/version_tmp/ | Resultados de testesSão resultados de execução como os do SimpleCov, os relatórios do RSpec e o examples.txt, em que o RSpec lembra os exemplos que falharam. |
/.yardoc//_yardoc//doc//rdoc/ | Documentação geradaSão a documentação de API e o cache criados pelo YARD e pelo RDoc. São gerados de novo a partir dos comentários do código. |
/tmp/.byebug_history.repl_history*.rbc/.config/InstalledFiles | Arquivos temporários e do depuradorSão a pasta temporária, os históricos do byebug e do REPL, o bytecode do Rubinius e o registro de instalação do setup.rb. |
.rvmrc | Configuração do gerenciador de versõesÉ o antigo arquivo de configuração de projeto do RVM; ele pode executar código de shell, por isso se evita compartilhá-lo. Hoje em dia usa-se principalmente o .ruby-version. |
Cuidados na prática
- Conforme os comentários do template, em aplicações
Gemfile.locke.ruby-versionsão commitados, enquanto em bibliotecas (gems) que serão usadas em vários ambientes eles às vezes são ignorados. /doc/ignora toda a pastadocda raiz. Se você guarda documentação escrita à mão emdoc/, apague esta linha e indique só o caminho gerado, como/doc/api/.- A regra
.envaparece só como comentário neste template, então, se você usa um arquivo de variáveis de ambiente, adicione-a você mesmo.
Template original
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?--*
Origem dos templates: github/gitignore/Ruby.gitignore @356fd7b (2026-09-11) · CC0-1.0