4

まず、同様のスレッドをすべて確認し、Google で検索して問題の原因を突き止めましたが、成功しませんでした。私の問題は、git でスパース チェックアウトを使用しようとしているのですが、次のエラーが発生することです。

error: Sparse checkout leaves no entry on working directory

この 60 GB のリポジトリがあり、これを複製する必要があります。その一部しか必要ないので、ディスク容量を節約するためにスパース チェックアウトを使用したいと考えました。これが私がすることです:

  1. mkdir repoDir
  2. git init repoDir
  3. cd repoDir
  4. git remote add origin <repo url>
  5. git config core.sparsecheckout true
  6. echo "some/dir/" >> .git/info/sparse-checkout
  7. git pull --depth=1 origin master

注: -f フラグを指定せずにリモートを追加したため、何も取得されません。

結果:

error: Sparse checkout leaves no entry on working directory

私はいくつかのことを試しました:

  • 新しいレポを初期化してリモートを手動で追加する代わりにgit clone --no-checkout、スパース チェックアウトをセットアップしました。git statusレポ内のすべてのファイルを削除したかのように、これは役に立ちませんでした。git pull origin masterコマンドを実行しても同じエラーが発生します。
  • 手順 6 で、パスの前にスラッシュ、パスの後にスラッシュ、星、パスと>またはの間にスペースを入れて、考えられるすべてのパスの組み合わせを試しまし>>た。ところで、私はここで正しいフォーマットが何であるか混乱しています.SOのコメントから、これをフォーマットする相互に排他的な方法がわかります。
  • my が ASCII であること、およびここ.git/info/sparse-checkoutにあるように適切な行末があることを確認しようとしました。これはおそらく Windows でのみ問題になりますが、とにかくこれを確認しました。

私のgitバージョン:git version 1.9.3 (Apple Git-50)

OSX ヨセミテ 10.10.2 (14C109)

4

3 に答える 3

3

"some/dir/"リポジトリを持っていなかったので、それが実際の構造であることを知りませんでした。Web インターフェイスから参照できましたが、フォルダーが実際のリポジトリ フォルダー構造と正確に対応していないことがわかりました。

sparse-checkout将来の教訓:ファイルを作成する前に、フォルダー構造を確認してください。

于 2015-03-04T11:37:01.490 に答える