WindowsのSourceTreeでGitHubからソースを取ってくるときは改行の自動処理に注意!
これは誰に向けたどんな内容のエントリ?
- WindowsのSourceTreeを使ってGitのソースを管理する人のためのエントリ
前提
- OSがWindowsであること
- GitのクライアントソフトはSourcetreeを使うつもりであること
伝えたいこと
- Sourcetreeをインストールする際、
改行の自動処理を設定する
にはチェックを入れないこと
チェックを入れてしまうとどうなるか?
autocrlf
がtrue
になって、GitHubからソースをclone(=まるごと取ってきた)してきた際にソースの改行コードが全部LF
からCRLF
になります
既にインストール済みのSourceTreeでautocrlfがtrueになっていないか確認するには?
- Sourcetreeのターミナルを開いて
git config --global --get core.autocrlf
を叩いて確認してみようtrue
ならautocrlf
が有効になっているのでアウト、false
かinput
ならセーフです。
どうすればautoctlfの設定を変更できる?
- Sourcetreeのターミナルを開き、次のように
git config
をたたいてfalse
もしくはinput
にすればOKです。false
にするとgit cloneする時も、git pushする時も何もしません(改行コードを勝手に変換しない)input
にするとgit cloneする時は何もせず、git pushする時だけcrlf
をlf
にしてくれます- ローカルで新たに作ったファイルも、git pushする時には改行コードを
lf
に統一しておこうと思ったらinput
の方がよいでしょう
- ローカルで新たに作ったファイルも、git pushする時には改行コードを
git config --global core.autocrlf false または git config --global core.autocrlf input
- あるいは直接
C:\Users\%USERPROFILE%\.gitconfig
というGitの設定ファイルを書き換えてもOKです。- エクスプローラーで
C:\Users\%USERPROFILE%\
を開くと、たとえばユーザ名がmochikoAsTech
ならC:\Users\mochikoAsTech\
が表示されます
- エクスプローラーで
[core] autocrlf = input