目次
はじめに
今回はPJ直下にdocker系のファイル、src配下にLaravelファイルがありました。
コンテナで開いたタイミングでdocker系のファイルに予期せぬ改行コードの変換更新が入ることがあったので以下の対応を行いました。
環境想定
- Nginx 1.30.2 Stable
- PHP 8.5.6 最新
- Composer:2.10.1 LTS
- Laravel 13.14.0 最新
- MySQL 8.4.9 LTS
- Git 最新
※バージョンは安全のため固定します
※26/06時点
フォルダ構造
以下のような構造でローカルに作業フォルダ、ファイルを作成します
Laravel13_sample
├─ docker
│ ├─ mysql
│ │ └─ my.cnf
│ ├─ nginx
│ │ └─ default.conf
│ └─ php
│ ├─ Dockerfile
│ └─ php.ini
├─ src
├─ docker-compose.yml※srcにLaravelが入る
※Docker環境の var/www 内に丸ごとこれを格納し開発を進める
(.gitがここのあるのでDocker、Laravel丸ごと状態管理するため)
Git管理するテキストファイルの改行コードをLFで管理する
PJの直下に .gitattributes を作成
# Git管理するテキストファイルの改行コードをLFで管理する
#
# text=auto:テキスト or バイナリを判断して、テキストなら改行コードを変換する
# eol=lf:改行コードをLFで管理する
#
# PJ直下のDockerファイルの改行コードもLFで管理するため追加した
#(コンテナ内で予期せぬ更新が発生するときがあった。Windows環境の問題(CRLF))
* text=auto eol=lf
Git自体の改行コードの変換設定を input に変更
設定方法
ローカルのGitで以下のコマンドを実行
git config --global core.autocrlf input変更後の確認方法
これで確認し、inputになってればOK
git config --global core.autocrlf補足
※ローカルのGitが対象
※コンテナ内は通常LF環境のため、core.autocrlfの設定は不要
※Laravel・Docker開発ではLFで統一する方が扱いやすい
VS CODEの改行コードもLFで制御しておく
これは念のためレベルだと思います。
PJの直下に「.vscode/settings.json」を作成する
{
"files.eol": "\n"
}
さいごに
Windows環境よくわからないことおこるので、Linux環境(MacやLinux OS)が好まれるんですね・・
