2011-09-13 6 views
4

私のリポジトリには、Windowsマシン上のcygwinコンソールで実行されるいくつかのシェルスクリプトがあります。私の問題は、これらのファイルを更新するたびに自動的にCRLFの行末に変換され、手動で開いてUNIXに変換し、emを保存し、コミットし、更新したときに繰り返す必要があります。私はgit line endings、ベストのオプションが必要

git config --global core.autocrlf false 

をすれば

今、その後、gitが行末を変換することによって、私が何をしたいと仮定しようとして停止し、盲目的にそれらをコピーし、正しいでしょうか?

は、私は私のリポジトリのすべてのユーザーに設定し、この設定をプッシュすることができますが道であるか、各ユーザーが単一のリポジトリのためのgit-config設定で設定されている

答えて

8

オプションが保存され、この変数自体を設定する必要がありません他のユーザーにプッシュされない.git/configの中にあります。

しかし、gitattributesを使っても同じ結果が得られます。アトリビュートは、作業ツリー内の.gitattributesという名前のファイルに設定できるため、他の人にプッシュされます。さらに、それらは単一のファイルまたはパターンのために設定することができます。 .gitattributesファイルに

*.sh -text

を入れてください。これにより、.shで終わるすべてのファイルが自動的に変換されなくなります。

別の方法としては、UNIX形式への変換を強制的に

*.sh eol=lf

を書くことができます。

+4

'* .sh eol = lf'オプションをもっと「正しい」解決策としてお勧めします。 – Arrowmaster

関連する問題