3

私たちのオフィスでは、約 10 人の開発者のチームで働いています。それらのほとんどは Mac マシンを持っています。最近、自分の作業の違いを確認しているときに (コードを 1 行だけ変更した後)、ほぼすべての行が変更されていることに気付きましたが、git diff変更内容は元のものとまったく同じです。いくつかの調査の後、それは別の新しい行であることが判明しました。何かを行う前は '\r\n' (CR+LF, 0x0D0A) であり、変更後はすべての非 Unix 改行 (\r\n) が Unix 改行 (\n) に変更されます。

同僚に IDE の設定を変更するように依頼できることはわかっていますが、コミットするたびに実行する必要のあるスクリプトを準備するだけでよいこともわかっています。

git commit の前に bash スクリプトを実行するにはどうすればよいですか? git pre-commit フックはどのように使用できますか?

4

1 に答える 1

4

https://help.github.com/articles/dealing-with-line-endings とここですべてが説明されていますhttp://git-scm.com/docs/gitattributes#_checking-out_and_checking-in

Linux/Mac マシンの場合

git config --global core.autocrlf input

Windows マシンの場合

git config --global core.autocrlf true

この設定では、git はすべてのコミットの前にすべての\r\n行末を に変換します。\n

于 2013-03-05T18:25:05.543 に答える