2

GITリポジトリを保存し、MacとWindowsの両方でreopsを使用するFAT外部ディスクがあります。FAT には権限がないため、ローカル ディスクから外部 FAT ディスクにファイルをコピーすると、ファイル モードが変更されたために git diff が作成されました。これを使用してgitオプションで解決しました:

git config core.fileMode false

Mac には git diff がありません。つまり、git diff はクリーンです。しかし、Windows で git diff を実行すると、次のように表示されます。

ここに画像の説明を入力

Xcodeを更新した後、Xcode 6を使用してプロジェクトをリンクするときに問題があったことを覚えています。私のフレームワークは、上の画像と同じフレームワークですが、Xcode では認識されず、リンクされていませんでした。そのため、それらを削除して再追加し、問題を解決しました。これが私が違いを持っ​​ている理由だと思います。差分の例を次に示します。

だった: ここに画像の説明を入力

なる: ここに画像の説明を入力

Mac でこの差分が表示されないのはなぜですか? iOS フレームワーク ファイルに差分があるのはなぜですか? また、差分の意味 (XSym、番号 [0022]、ハッシュコード) は?

編集:FATのシンボリックリンクに何らかの形で接続されているようです: http://www.tucuxi.org/os-x-vfat/ しかし、WindowsとMacで同じレポを同時に使用するという問題を解決する方法がわかりません。

4

1 に答える 1

3

問題の説明は次のとおりです。 http://www.tucuxi.org/os-x-vfat/つまり、FAT はシンボリック リンクを理解していないため、シンボリック リンクを FAT にコピーすると、コンテンツを追加して模倣しようとします。言及は上の画像の違いです。

ここに解決策があり ます: https://www.kernel.org/pub/software/scm/git/docs/git-config.htmlcore.symlinksリンクテキストを含むプレーンファイル:

git config core.symlinks false

その結果、Mac での差分も表示されます。ところで、フレームワーク ファイルの差分により、Xcode で動作しないようになっています。

したがって、一般に、FAT で GIT を使用する場合は、GIT に次のグローバル設定を設定することをお勧めします。

git config --global core.fileMode false
git config --global core.symlink false
git config --global core.ignorecase true

次を使用して、正しく設定されているかどうかを確認します。

git config -l

システム、グローバル、およびローカルから継承されたすべての値が表示されます。

重要!を使用git config --global core.symlink falseしている場合でも、オプションが有効になるように、OSX と Windows で異なるリポジトリをチェックアウトする必要があります。したがって、基本的に、外付け HDD には 2 つのレポが必要です。1 つは OSX 用、もう 1 つは Windows 用です。そうしないと、まだ差分が発生します。

于 2014-11-21T11:00:09.163 に答える