こんにちは。そろそろ梅雨ですね。
目次
はじめに
案件ごとにWordPressとかを使っているのですが、どのファイルをGitから無視するか、ということで悩んでいました。
そういった時に.gitignore
のboilerplate
(ボイラープレート)を使うと良さそうでした。
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
そんな感じでうまいこと運用できれば良いなと思います。