2010-11-19 18 views
2

よくある問題かどうかわかりません。私たちが開発リポジトリからCSSファイルを取得する時代、GITは現在のファイルと矛盾し、 ">>>"と "< < <"のマーカを一番上と下に入れて完全にマージします。それらを分ける "==="マーカー。GITのCSSファイルでの継続的なマージの競合

私はいくつかのインデントを試してみましたが、それは少し助けましたが、全く成功しません。他のファイルタイプに問題はありません。そのほとんどはPHPとJSのコードです。

これが役立つ場合は、本番環境のすべてのテキストエディタをCRLFを使用するように設定しています。

ありがとうございました。

答えて

5

これは通常、ある種の自動変換によるものです。

すべてのgit(devとprod)にconfig autocrlf to falseを設定してみることができますか?

このように、自動変換は実行されないため、その問題を取り除くとマージの競合が発生する可能性があります。

また、何らかの自動修正を導入する可能性のある空白の設定がありますか?


注:開始のgit 2.8+(2016年3月)、マージマーカーは、もはや(CRLFファイル内のLFのように)終わる混合ラインを導入していないでしょう。
Make Git use CRLF on its “<<<<<<< HEAD” merge lines」を参照してください。

3

犯人はCRLFです...ボックスのいくつかがウィンドウの場合、自動的にCRLF変換が行われると、ファイルが "unix"形式で保存されますが、UNIX(およびMac)ボックスはそれらを「dos」形式で格納しています。

解決策はgitプロジェクトの一般的なカスタムである "unix"形式を使用するように指示することです。git(特にmsysgit)はデフォルトで自動的に変換されるため、windowsユーザーは "dos"形式を使用できます。

CRLFを使用して続行するか(おそらくもっと良いアイデア)、Windowsユーザーにautocrlfまたはsafecrlfを使用して停止するように指示します。

関連する問題