見出し

.gitignoreを半自動で作成できる「gibo」を使ってみた

   2025年05月17日     12分で読めます

使用環境

MacOSで使用。

作業記録

gibo のインストール

# gibo install
192:nitaku-docker xxxxxxxx$ brew install gibo
==> Auto-updating Homebrew...
Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Homebrew collects anonymous analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics have been recorded yet (nor will be during this `brew` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
bower-mail                             cookcli                                smenu
==> New Casks
blankie                                burp-suite@early-adopter               status
burp-suite-professional@early-adopter  feather                                void

Warning: You are using macOS 12.
We (and Apple) do not provide support for this old version.

This is a Tier 3 configuration:
  https://docs.brew.sh/Support-Tiers#tier-3
Do not report any issues to Homebrew/* repositories!
Read the above document instead before opening any issues or PRs.

==> Downloading https://ghcr.io/v2/homebrew/core/gibo/manifests/3.0.12
############################################################################################################ 100.0%
==> Fetching gibo
==> Downloading https://ghcr.io/v2/homebrew/core/gibo/blobs/sha256:4b86011e1e5292846ae6886d432830fc3be8aba954589e3a
############################################################################################################ 100.0%
==> Pouring gibo--3.0.12.monterey.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/gibo/3.0.12: 9 files, 10.3MB
==> Running `brew cleanup gibo`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
192:nitaku-docker xxxxxxxx$ 

gibo のヘルプを表示

# gibo help
192:nitaku-docker xxxxxxxx$ gibo --help
gibo is a command-line tool for easily accessing gitignore boilerplates

Usage:
  gibo [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  dump        Dump a boilerplate
  help        Help about any command
  list        List available boilerplates
  root        Show the directory where gibo stores its boilerplates
  search      Search for boilerplates
  update      Update the gitignore boilerplate repository
  version     Show the current version number of gibo

Flags:
  -h, --help   help for gibo

Use "gibo [command] --help" for more information about a command.
192:nitaku-docker xxxxxxxx$ 

gibo のアップデート

インストールしたばかりのため、アップデートは動かなかったもよう。 最新であるため、Updatedと表示された。

192:nitaku-docker xxxxxxxx$ gibo update
Updated
192:nitaku-docker xxxxxxxx$ 

インストールした gibo のバージョンを確認

192:nitaku-docker xxxxxxxx$ gibo version
3.0.12
192:nitaku-docker xxxxxxxx$ 

## 実際に使ってみた

Flutter と Firebaseの.gitignoreを作成

192:nitaku-docker xxxxxxxx$ gibo dump Flutter Firebase > .gitignore
192:nitaku-docker xxxxxxxx$ 

自動的に作成された .gitignore の中身を確認

192:nitaku-docker xxxxxxxx$ cat .gitignore
### Generated by gibo (https://github.com/simonwhitaker/gibo)
### https://raw.github.com/github/gitignore/9cabb94d2ac2ce0884a114d45683d9be9a45080c/Flutter.gitignore

# Miscellaneous
*.class
*.lock
*.log
*.pyc
*.swp
.buildlog/
.history



# Flutter repo-specific
/bin/cache/
/bin/internal/bootstrap.bat
/bin/internal/bootstrap.sh
/bin/mingit/
/dev/benchmarks/mega_gallery/
/dev/bots/.recipe_deps
/dev/bots/android_tools/
/dev/devicelab/ABresults*.json
/dev/docs/doc/
/dev/docs/flutter.docs.zip
/dev/docs/lib/
/dev/docs/pubspec.yaml
/dev/integration_tests/**/xcuserdata
/dev/integration_tests/**/Pods
/packages/flutter/coverage/
version
analysis_benchmark.json

# packages file containing multi-root paths
.packages.generated

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
**/generated_plugin_registrant.dart
.packages
.pub-preload-cache/
.pub/
build/
flutter_*.png
linked_*.ds
unlinked.ds
unlinked_spec.ds

# Android related
**/android/**/gradle-wrapper.jar
.gradle/
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
**/android/key.properties
*.jks

# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/.last_build_id
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/ephemeral
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*

# macOS
**/Flutter/ephemeral/
**/Pods/
**/macos/Flutter/GeneratedPluginRegistrant.swift
**/macos/Flutter/ephemeral
**/xcuserdata/

# Windows
**/windows/flutter/generated_plugin_registrant.cc
**/windows/flutter/generated_plugin_registrant.h
**/windows/flutter/generated_plugins.cmake

# Linux
**/linux/flutter/generated_plugin_registrant.cc
**/linux/flutter/generated_plugin_registrant.h
**/linux/flutter/generated_plugins.cmake

# Coverage
coverage/

# Symbols
app.*.symbols

# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
!/dev/ci/**/Gemfile.lock### Generated by gibo (https://github.com/simonwhitaker/gibo)
### https://raw.github.com/github/gitignore/9cabb94d2ac2ce0884a114d45683d9be9a45080c/Firebase.gitignore

# Firebase build and deployment files
/firebase-debug.log
/firebase-debug.*.log
.firebaserc

# Firebase Hosting
/firebase.json
*.cache
hosting/.cache

# Firebase Functions
/functions/node_modules/
/functions/.env
/functions/package-lock.json

# Firebase Emulators
/firebase-*.zip
/.firebase/
/emulator-ui/

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Environment files (local configs)
/.env.*
192:nitaku-docker xxxxxxxx$ 

まとめ

Web上からGitHubのリポジトリを新規作成する際にも使用する言語やフレームワークが選択可能だが、 VS CodeなどIDEから作成する際は、便利だと思われる。

おそらく、今後も使っていく。