10

私たちの上司と私だけが私たちのプロジェクトに取り組んでおり、私たちは開発専用にMacを使用しています。groovy / grailsの開発を行っており、Linuxサーバーにデプロイしています。開発プロセスのどこにもMSWindowsは使用されていませんが、bashシェルでgitを使用してファイルを比較している^Mと、CR(および改行と一緒にCRLF)を表す愚かな文字が表示されます。 )。

これはどこからともなくファイルに現れています。

LFのみを行末として使用するようにIntelliJIDEAを設定する場所をオンラインで検索しましたが、見つかりませんでした。IDEAについての答えをグーグルで検索することの難しさは、ここでの私の欲求不満をさらに悪化させました。

私はこれらのことをしたい:

  1. 私のマシン(OS X)でgitを構成して、CRLF を完全に拒否します。

  2. また、中央リポジトリサーバー(Ubuntu Linux)のアクセスレイヤーとしてgitoliteを使用しています。ギトライトでCRLFの拒否を強制することが可能であれば、はるかに優れています。

  3. 何もCRLFとして保存しないようにIntelliJIDEAを構成します。可能であれば、CRLFでいっぱいの既存のファイルの場合でも、スペースを追加して[保存]をクリックすると、すべてのCRLFが削除されます(単一のLFに変換されます)。

私は一般的にGitに非常に精通していると思いますが、CRLFを取り巻くすべての構成にひどく混乱しています。誰かが私の立場の誰かのためにこれらの設定のすべてがどうあるべきか教えてもらえますか?

ここでの主なポイントは、純粋に* nix/LF行終了の環境にあります。CRLFのナンセンスには対処したくありません。これは絶対に問題ではないはずです、そして私はそれを扱うのが嫌いです(あなたが言うことができなかった場合に備えて)。

CRLFを永遠に私の人生から外して欲しいです。

4

1 に答える 1

15

ローカルでは、を使用しますgit config --global core.autocrlf input。これにより、コミット時にすべてのCRLFがLFに変換されます。これをgitoliteで構成する方法がわかりません。また、IntelliJで知っている行末のセットアップは、新しいファイルに何を使用するかを指定できるものだけです。ダイアログの下部にある[コードスタイル]->[一般]の[設定]にあります。

git reset --hardcore.autocrlf設定を変更した後、追跡されたすべてのファイルを削除し、それらを元に戻すことで、すべての不正な行末をフラッシュできます(クリーンな作業ツリーから開始) 。次に、行末が間違っているファイルは「変更済み」としてマークされ、行末を修正するためにそれらをコミットできます。

于 2011-08-13T18:44:06.880 に答える