1

リポジトリのディープ クローンをインプレースの浅いコピーにするにはどうすればよいですか?

私はgitを使用してソフトウェアの個別のインストールを管理して、ランタイムで作成されたインストール(追跡されていないファイルとダーティファイル)のコードへの変更を追跡していますが、リポジトリはかなり大きい(800MB)ため、約数百のコピーを配置することは最善のアイデアではありません。

したがって、これらのリポジトリを完全なツリーではなく、現在デプロイされているコミットのみを含む浅いコピーに変えることができれば素晴らしいことです。アップグレード中、リポジトリはディープ クローンに変換され、特定のコミットがチェックアウトされてから、新しいコミットの浅いクローンに作成されます。

git fetch --depth=1 --update-shallow.git ディレクトリのサイズは縮小されません。新しいコミットはフェッチされると思いますが、古いデータは削除されません。追加--shallow-exclude=HEAD^2するとgitがエラーをスローしますが、それがどのように機能するかは完全にはわかりませんが、HEAD ^ 2を削除するという競合する要件が発生していると推測する危険がありますが、深いクローンでHEAD ^ 2に依存するHEADをチェックアウトしたい.

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
4

1 に答える 1