giboでGitの.gitignoreを人の例に倣って管理する

こんにちは。そろそろ梅雨ですね。

目次

はじめに

案件ごとにWordPressとかを使っているのですが、どのファイルをGitから無視するか、ということで悩んでいました。

そういった時に.gitignoreboilerplate(ボイラープレート)を使うと良さそうでした。

GitHub公式っぽいですね。

gibo

このボイラープレートなんですが、ブラウザやgit pullなどでGitHubのリポジトリをいちいちチェックする必要があります。
その作業を簡略化したものがgiboです。
Git Ignore BOilerplateの略のようです。

macOSであればhomebrewでインストールすることができます。

$ brew install gibo

インストールはすぐに終わり、ボイラープレートの最新版をリポジトリから拾ってきます。

-lでどういったテンプレートを使うことができるかリストが出力されます。

$ gibo -l

=== Languages ===

Actionscript        GitBook         PureScript
Ada         Go          Python
Agda            Gradle          Qooxdoo
Android         Grails          Qt
AppceleratorTitanium    GWT         R
AppEngine       Haskell         Rails
ArchLinuxPackages   Idris           RhodesRhomobile
Autotools       IGORPro         ROS
C++         Java            Ruby
(...略)

プロジェクトで使う.gitignoreに追加

リダイレクション(>>)で.gitignoreに追加します。

$ gibo WordPress >> .gitignore

$ cat .gitignore
### https://raw.github.com/github/gitignore/5d896f6791c4257b74696714c66b2530b8d95a51/WordPress.gitignore

*.log
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php

/.htaccess
/license.txt
/readme.html
/sitemap.xml
/sitemap.xml.gz

WordPressの場合ですとそれっぽい感じになっていますね。

僕の場合では案件でテーマを開発することが多いので、wp-content関連をリポジトリに入れつつ、コアファイルを除外しています。

### https://raw.github.com/github/gitignore/5d896f6791c4257b74696714c66b2530b8d95a51/WordPress.gitignore

*.log
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php

/.htaccess
/license.txt
/readme.html
/sitemap.xml
/sitemap.xml.gz

/*
wp-includes/
wp-admin/
!wp-content/
!.gitignore

またそもそも、WordPressをcomposerで入れて.gitignoreはwpディレクトリに置いています。

$ tree -d
.
├─.gitignore   # ココ!
├── static
│   └── ...
├── vendor
│   ├── composer
│   └── johnpbloch
│       ├── wordpress
│       └── wordpress-core-installer
│           └── src
│               └── johnpbloch
│                   └── Composer
└── wp
    ├── .gitignore # ココ!

上のディレクトリでは gibo Composer >> .gitignore しています。

IDE系

普段の開発はJetBrainsのIDEAシリーズであるPhpStormを使っています。

元はAndroidStudioで出会ったのですが、IDEAはプロジェクト直下に.idea/を作ります。
これの管理もボイラープレートで作れました。

$ gibo JetBrains

### https://raw.github.com/github/gitignore/5d896f6791c4257b74696714c66b2530b8d95a51/Global/JetBrains.gitignore

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries

# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# CMake
cmake-build-debug/

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

これはグローバルに入れておきました。

$ gibo JetBrains >> ~/.gitignore_global

そんな感じでうまいこと運用できれば良いなと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする