だから私はgitリポジトリを持っています。Cygwin/Windows 8で実行されているgit 1.7.9を使用しています。
この git リポジトリにはこの奇妙な動作があるため、特定のディレクトリの一部のサブディレクトリが追跡されていると見なされますが、それらを含む実際のディレクトリは追跡されません。
だから、私はこのような奇妙さを得る:
$ git reset --hard
$ git status
#untracked files
foo
$ git clean -fd
removing foo
$ git status
#changes not staged
D foo/bar/whatever.txt
しかし、その後、別の方法でファイルを追加します。
$ git add foo
$ git status
# changes not staged
A foo/bar/whatever.txt
そして、そこからコミットすると、もちろん、プッシュしようとするとクレイジーな競合が発生します。
場合によっては修正されますが、git reset --hard
修正されない場合もあります。それを取り除く最善の方法は、新しいブランチをチェックアウトし、作業コピー内のすべてを削除して実行することgit reset --hard
です。
他の誰かがこの奇妙な行動を経験したことがありますか? 私は git-tfs を使用しています。これはバグである可能性がありますが、ほとんどの場合、通常の git リポジトリであるため、問題ではないと思います。