ゼロから始めるDjangoソースコード解読 part3
解読
.gitattributes
概要
git全体の設定をする場合、以下のようにconfigオプションを使って設定することができます。
git config --global ~~~
リポジトリごとに設定したい場合は、.gitattributesに設定を記載します。djangoの.gitattributesファイルでは、主に改行コード周りの設定と、マージする際の設定が記載されています。
詳細
# Normalize line endings to avoid spurious failures in the core test suite on Windows. *html text eol=lf *css text eol=lf *js text eol=lf tests/staticfiles_tests/apps/test/static/test/*txt text eol=lf tests/staticfiles_tests/project/documents/test/*txt text eol=lf docs/releases/*.txt merge=union
項目 | 内容 |
---|---|
text=auto | gitが最善と判断する方法でファイルを処理する |
text eol=crlf | チェックアウトの際常に行終端を CRLF に変換します。 OSX や Linux であったとしても、終端が CRLF でなければならないファイルにはこれを使用する必要があります。 |
text eol=lf | チェックアウトの際常に行終端を LF に変換します。 Windows であったとしても、終端が LF でなければならないファイルにはこれを使用する必要があります。 |
binary | 指定されているファイルがテキストではなく、変更を試みるべきではないと判断します。(バイナリファイルなどは変換されるとエラーになってしまうため) |
merge=text | テキストファイルとしてマージする。コンフリクトした場合、場所を教えてくれる。 |
merge=binary | バイナリファイルとしてマージする。コンフリクトした場合、そのファイルを残す。 |
merge=union | テキストファイルとしてマージする。コンフリクトした場合、どちらの変更も残すように適当に変更してくれる。 |
.gitignore
概要
.gitignoreに設定を記載することで、gitで管理するファイルを制限することができる。
詳細
# If you need to exclude files such as those generated by an IDE, use # $GIT_DIR/info/exclude or the core.excludesFile configuration variable as # described in https://git-scm.com/docs/gitignore *.egg-info *.pot *.py[co] .tox/ __pycache__ MANIFEST dist/ docs/_build/ docs/locale/ node_modules/ tests/coverage_html/ tests/.coverage build/ tests/report/
項目 | 内容 |
---|---|
* | /以外の0個以上の任意の文字列 |
** | 0個以上のファイルやフォルダ |
[0-9] | 0~9までの数字一文字 |
[co] | cかo一文字 |
終わりに
今回はgit関係のファイル二つを紹介しました。
ここら辺はもともと知っている方も多いと思います。
次回は、pythonのpre-commitというものを紹介しようと思います。(初耳のツール)
それではまた次回に。