ぼくのかんがえたさいきょうの .gitignore

  • 19
    Like
  • 3
    Comment

久しぶりの投稿です。頭使わなすぎて腐るかと思いました。
最近新しいリポジトリを作るときはとりあえず僕の秘伝の .gitignore を流しこむことにしている。

ソース一式とか言って ZIP で固めたソースファイルに紛れ込んでたりしますね。
以下のようなルールとなっている。

  1. Emacs や Vim が作るバックアップファイル (~) 、テンポラリファイル (.swp) 系だったり
  2. Windows 系のエディタやマージツールが吐き出すバックアップファイル .bak を無視するようにしている。
  3. OSが吐き出すファイル .DS_Store, Thumbs.db
  4. Ruby の Bundler 系で入れる gem は無視するようにしている。
  5. Office 関係のファイルを開いた時にできる忌まわしい隠しファイルも無視 ~$*
  6. Vagrant のディレクトリも無視
  7. 運用でよく紛れ込む config.php.20150801 とかいう忌まわしいもの。

編集リクエストウェルカム

スペシャルサンクス

  1. @hirokishirai さん yyyyMMdd -> [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] glob での書き換えを教えてもらいました!
.gitignore
# Project Specific rules here

# Temporary Files
#---------------------------
# vim
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
# Emacs
.\#*
# Backup files
#---------------------------
*~
*.orig
*.bak
# yyyyMMdd
*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
# yyyyMMddHHmm
*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
# yyyyMMddHHmmss
*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
# OS dependent files
#---------------------------
.DS_Store
Thumbs.db
# Bundler specific
#---------------------------
/vendor/bundle/
/.bundle/
# Office specific
~$*
# Vagrant specific
.vagrant/

ソース管理にこういうゴミファイルを平気で突っ込んでいる人がいたらやさしく注意してあげたい。
そして以下のようにする。

git rm --cached config.php.20150801

生ファイルは以下。

-
https://gist.githubusercontent.com/wnoguchi/36cc49a9590cbec4aba3/raw/20d3e63eae925a9c600fee66cd3ea21433a48aef/common.gitignore

元の Gist は以下を参考にされたい。

その他に必要な無視ルールはプロジェクト特性ごとに区切って

で自動生成できたり、

にプロジェクト特性ごとにリポジトリとして揃っているので、そこから引っ張ってくるのが良い。