2015-12-21 25 views
6

私はプロジェクトのためのGit LFSを設定し、非画像ファイル(例えばプリコンパイルされたライブラリ)のためにそれは素晴らしい取り組んでいます。しかし、(。git checkout --)リセットしようとしても、.pngファイルと.jpgファイルのすべてが常に変更されて表示されています。Git LFSは常に画像ファイルを変更したものとして表示しますか?

エントリすべてが.gitattributesで同じよ​​うに見える:

*.jpg filter=lfs diff=lfs merge=lfs -text 
*.png filter=lfs diff=lfs merge=lfs -text 
*.so filter=lfs diff=lfs merge=lfs -text 

git diffの出力がひどく有用ではありません。

diff --git a/Design/faviconit/favicon.ico b/Design/faviconit/favicon.ico 
index 3202014..b5d3daf 100755 
Binary files a/Design/faviconit/favicon.ico and b/Design/faviconit/favicon.ico differ 

私は私が診断するために取るべきで、他のどのような手順わからないんだけど問題。他に誰かがこれにぶつかっていますか?何か案は?ありがとう!

更新:

それは実際にすべての画像ファイル、それらのサブセットのみがではありません。しかし、画像ファイルだけが問題を示しています。

Iは、問題の画像の全てを除去し、コミットそれをプッシュしようとしました。その後、別のマシンでいくつかのファイルを追加して、もう一度プッシュしました。私が新しい変更を引っ張ったとき、私は同じ問題を抱えました:ファイルは直ちに修正されたものとして表示されます。ファイルはディスク上で正しく見え、実際にはオリジナルと同じです。

+0

ファイルをリポジトリに追加する前に、または追加した後にgit-lfsをセットアップしましたか? –

+0

私はLFSをセットアップする前に、これらのファイルがすべてリポジトリにあると思います。 – starkos

+0

実際には、いや、私は戻ったと歴史をチェックし、私はLFSを設定した後、いくつかのファイルが追加されたました。 – starkos

答えて

5

D'oh ...ネットワーク上のさまざまなマシンから多くのチェックインとチェックアウトを行った後、ローカルの作業コピーでgit lfs installが実行されていないマシンが見つかりました。そこで、LFSのテキストレコードの代わりに生のバイナリファイルをプッシュしていました。

それを修正するために、我々は、initコマンドを実行し、コミットして(私たちはLFSのテキストレコードではなく画像そのものを上演していたことを確認した後に)壊れたファイルのすべてをプッシュしていました。

うまくいけば、LFSは、いくつかの点でGitの配布にバンドルし、この問題を回避することができます。

0

私はいつも違いを示すLFS追跡ファイルの同様の症状がありました。私の場合、ファイルはLFSに保存されていましたが、キャッシュ内のファイルは破損しているようです。 .git/lfs/objects/を見ると、データファイルはsha256によって保存されます。ファイル上でsha256sumを実行すると、その名前と同じハッシュを持つはずです。私の場合はそれが異なります。

あなたが実行することによってこの問題を解決することができます git lfs fsck

例えば

$ git lfs fsck 
Object MYPROBLEMFILE.data (9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b) is corrupt 
    moved to .git/XXX/lfs/bad/9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b 
$ git checkout master --force 
Already on 'master' 
Your branch is up-to-date with 'origin/master'. 
$ git lfs fsck 
Object MYPROBLEMFILE.data (9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b) could not be checked: no such file or directory 
$ git lfs pull 
Git LFS: (1 of 602 files) 33.72 MB/74.49 MB     
$ git lfs fsck 
Git LFS fsck OK 
関連する問題