2017-07-08 3 views
4

私は、複数の開発者が関わっているAndroidプロジェクトに取り組んでいます。その中には、Windowsやその他のLinux/MacOSなどがあります。私はWindows上にいるので、問題を避けるためにGitを以下のように設定するように指示されています:これはほとんどの場合うまく動作します。 Androidスタジオで作成した.java/XML/etcファイルはCRLFにあり、リポジトリにプッシュするとLFに変換され、ローカルコピーに変更を取り込むとCRLFに戻ります。問題は、何らかの理由で、ベクトル描画可能アセットのようないくつかのタイプのファイルがLFで生成されるということです。私はGitのにそれらを追加しようとするので、私は「不可逆的な変換」のエラーが表示されます。Androidスタジオ - Gitベースのマルチプラットフォームプロジェクト用のCRLFとLF

enter image description here 私はsafecrlf = warnを設定することができ知っているが、私が理解から、これはGitのミスそれらあればバイナリファイルが破損するリスクを運びますテキストファイルのため、私はより安全なソリューションを探しています。今のところ、Gitに追加する前に、手動でベクトルアセットをCRLFに編集していますが、これは上記のエラーメッセージを回避しますが、すべてのファイルに対してプロセスを繰り返すのが面倒です。 Android StudioでCRLFですべてのローカルファイルを生成させる方法はありますか?

+1

'.gitattributes'に' text'とマークされていますか? https://help.github.com/articles/dealing-with-line-endings/を参照してください。 – phd

答えて

1

は、私は(私はagainst it since 2010をアドバイス)truecore.autocrlfを設定していないでしょう:falseにそれを残します。

.gitattribtes file、特にsince Git 2.10に管理したいファイルがあります。 .gitattributesでrelease note

echo "*.java text=auto eol=crlf" >.gitattributes 

The combination has been fixed to be equivalent to doing

$ git config core.autocrlf true 

は、あなたの代わりにすべてレポファイルに盲目的にそれを適用するので、あなたがしたいファイルの正確なセットにそのEOL変換を制限することができます参照してください。
Checking-out and checking-in」をさらにご覧ください。

関連する問題