windows環境で git を使っていて、改行コードが意図しないものになってしまっていたことがあり、git for windows には改行コードの自動変換というものの存在に気づきました。
git のインストーラーのデフォルト設定では、この自動変換がONになっているので、備忘録のためにおさらい。
git for windows(msysgit) のインストール
最新版のダウンロード ⇒ git for windows
インストールの詳細については以下を参照。
⇒ 私家版 Git For Windowsのインストール手順
⇒ WindowsにGitをインストールする手順について
このインストーラーでデフォルト設定でインストールしていくと、改行コードの自動変換がONになっているので注意!
(1) Select Components ⇒ デフォルトでOK
(2) Adjusting your PATH environment
○ Use Git Bash only
● Run Git from the Windows Command Prompt
○ Run Git and included Unix tools from the Windows Command Prompt
⇒ 2つ目にしておくと Gitが環境変数のPATHに追加されコマンドプロンプトや PowerShell.ext などからも Gitコマンドを使えるようになるので便利。
3つ目は find.exe や sort.exe の既存の動作に影響があるので注意。
(3) レポジトリへのチェックイン、チェックアウト時の改行の取り扱い
○ Checkout Windows-style, commit Unix-style line endings
チェックアウト時に改行コードを[LF]から[CR+LF]に変換し、コミットする時に[CR+LF]を[LF]に変換する。
● Checkout as-is, commit Unix-style line endings
チェックアウト時は改行コードを変換せず、コミット時のみ[CR+LF]を[LF]に変換する。
○ Checkout as-is, commit as-is
チェックアウト時もコミット時も改行コードを変換しない。
⇒ デフォルトだと1つ目になっているので、2つ目 or 3つ目に変更。
巷の記事を見ていると、改行コードの制御は Gitでは行わない方がよいと思われる。
インストールの(3)でデフォルトのままインストールしてしまった場合、以下で設定変更が可能。
コマンドラインでの設定
> git config --global core.autoCRLF false
設定ファイルを直に編集する場合は、C:\Users\ユーザー名 配下の「.gitconfig」を開いて編集。
[core] に「autoCRLF = false」を追加。
[user]
name = hoge
email = hogehoge@seeds-std.co.jp
[core]
preloadindex = true
autoCRLF = false
<参考サイト>
・git での改行コード
・gitの改行コード自動変換でハマッた話
・Git for Windows でレポジトリー上の CR LF を LF に変換する手順
・Windowsでgitを使う場合の改行コード自動変換がうざい
ついでに TortoiseGit 備忘録も。
TortoiseGit インストール
最新版ダウンロード ⇒ TortoiseGit
日本語パックのダウンロード ⇒ TortoiseGit - Language Packs
それぞれのインストール手順は以下を参照
⇒ TortoiseGitを日本語化するまでの手順
⇒ チュートリアル1 Gitの基本 : Gitのインストール
日本語化
TortoiseGit ⇒ 日本語化パックの順にインストール後
1. 右クリックで TortoiseGit のメニューを表示 「TortoiseGit」 > 「Settings」
2. 設定画面「General」の「Language」で日本語を選択してから「OK」をクリック