2

一部のファイルが期待どおりに追跡されない状態でインデックスを取得することができました。

例として、作業ディレクトリに変更されていない size.h と test.h があります。

$ git-ls-files -st size.h test.h
H 100644 de2c741b07d86f92bdd660626848072cb2bf510f 0     size.h
H 100644 8bb24bc7483ffcfc0fc1a3761dc63e86a1b3e003 0     test.h
$ git status
# On branch master
nothing to commit (working directory clean)

次に、両方のファイルにランダムな変更を加えます。

$ fortune >> size.h
$ fortune >> test.h

何らかの理由で size.h は変更されていません (ただし、ファイルは明らかに変更されています)。同時に、test.h が期待どおりに変更されます。

$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   test.h
#
no changes added to commit (use "git add" and/or "git commit -a")

インデックスを削除してリセットすると、すべてが正常に戻ります。

$ rm .git/index
$ git reset
Unstaged changes after reset:
M       size.h
M       test.h
$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   size.h
#       modified:   test.h
#
no changes added to commit (use "git add" and/or "git commit -a")

奇妙さが現れる前に、このリポジトリの samba を介して、CentOS で git 1.6.6 と Windows で msysgit 1.6.5.1 を使用していました。これを新しいクローンから再現することはできませんでした。

私の直感では、これは msysgit のバグであり、おそらく Samba との組み合わせによるものです。何か案は?

4

2 に答える 2

2

バージョン1.7.9.msysgit.0でこの問題が発生していました

問題は、プロジェクトを新しいディレクトリに移動し、サブモジュールの少なくとも1つにワークツリーの絶対パスがあったことです。

サブモジュールディレクトリを削除し、.git / modulesのエントリを削除し、それらを再初期化して更新すると、問題は解決しました。

これは奇妙なことでした。なぜなら、プロジェクトのステータスをチェックするときにgitがエラーや警告メッセージ(私が見ることができる)をまったく出さなかったからです。gitサブモジュールの更新を行ったときだけです。それがしたかったパス。

于 2012-09-20T19:50:02.383 に答える
2

Git over samba の間違ったステータスも表示する唯一のバグは、GitX チケット 147です。
これは逆の状況 (変更されていないファイルの変更を git status が示す) に関するものですが、ファイルの一部の要素 (サイズ? 日付? 権利?) が samba 共有を介して適切に送信されていないことを示唆しています。

これは、これがコンピューターの時計の問題なのだろうかと思いました。サーバーの時刻を に設定し-1hても役に立ちません。
ところで、gitx と git-gui は、同じ 2 台のマシンで sshfs を介して完全に動作します (しかし、sshfs は便利ですが、ローカル ネットワーク上の samba ほど高速ではありません)。

samba 共有を介してレポをクローンするときに、ロックの問題が発生することが知られています。

于 2010-01-14T05:14:43.130 に答える