改行コードの Windows の Git のデフォルト設定での場合、CRLF でチェックアウトされます。
この状態ですと例えば CentOS のキックスタートファイルやシェルファイルで CR 部分が文字列として追加されてしまいます。
これによって、ファイルやディレクトリ作成時、意図しない名前となり、エラーとなってしまいました><。
今回、このエラーを回避した Git の操作テクニックを、2 つノートいたします♪
ポイント
- .gitattributes でプロジェクトの改行コードを制御
- 一旦ファイルを削除することによって、既存ファイルへ改行コード設定を反映
.gitattributes でプロジェクトの改行コードを制御
拡張子が cfg のキックスタートファイル、拡張子が sh のシェルファイルは改行コードを LF で固定し、他のファイルの扱いは自動制御 といたします。
そのような設定を書いたファイルを、プロジェクトのルートディレクトリに置きました。
* text=auto *.sh text eol=lf *.cfg text eol=lf
一旦ファイルを削除することによって、既存ファイルへ改行コード設定を反映
git reset --hard
ではダメでした><。つまり、CRLF は LF へ置換されませんでした。
そのため、一度 .git ディレクトリ以外のファイル、フォルダをすべて削除してから git reset --hard
と実行しましたら CRLF は LF へと変換されておりました♪
おわりに
git reset --hard
しただけでは CRLF が LF へと変換されないのは驚きでした!
一律にリポジトリから取り出して上書きする、という仕組みではないのでしょうね♪
Git を Windows で使用する場合、かいぎょうこーどの問題がついてまわりますので、今回は大変勉強になりました!
最後に、参考ページです。ありがとう存じます!
また、次のページが Windows の Git でのかいぎょうこーどの扱いについて勉強になりそうですわ♪
以上です。