.meta以外のファイルを無視する.gitignoreを作成するスクリプト

この記事では、あるフォルダ以下の.metaファイルでないファイルを無視する.gitignoreを生成するスクリプトを掲載しています。Unity向けです。

借りているサーバの容量が少ないので、アセットのライブラリ全体をプロジェクトごとにバージョン管理するのを避けたくて作成しました。pythonスクリプトになります。また、MacOS,python 2.7.10でのみ動作確認しています。

Windowsでは10行目のカレントディレクトリの記号やパス記号の変更が必要になるかもしれません。

import os
def find_all_dirs(directory):
	for root, dirs, files in os.walk(directory):
		for dir in dirs:
			yield os.path.join(root, dir).strip('/.')

print '# This file is created by MakeLibraryGitIgnore.py.'
print '# This setting is to ignore all files without .meta files.'
print '*\n' + '!/*.meta\n' + '!/.gitignore\n'
for dir in find_all_dirs('.'):
	print '!/' + dir + '/\n' + '/' + dir + '/*\n' + '!/' + dir + '/*.meta\n'

これをMakeLibraryGitIgnore.pyという名前で保存して、ターミナル(またはコマンドプロンプト)で無視したいフォルダに移動して

python (パス/)MakeLibraryGitIgnore.py > .gitignore

を実行すれば、.meta以外を無視する.gitignoreが移動したフォルダに作成されます。

サポートでいただいたお金は、音素材やアセットの購入、グラフィックや曲の発注に使わせていただこうと思います。