私はこれの使用例がかなり制限されている必要があると思います。いくつかのファイルのスナップショットを取得することを考えています。歴史的なコンテキストや変更を書き戻すことはできません。さて、ok ...
archive
と--remote
を使用すると、かなり参考にする必要があります。 リモートにタグをプッシュすることができる場合は、のバージョンにタグを付けることができます。タグから引き出すことができるはずです。もしあなたがそれを行うことができないなら、あなたが望むバージョンがタグを持っていたり、ブランチの現在の頭部になったりしていなければ、あなたはおそらく運が悪いでしょう。
ドキュメントは、それについてもかなり好き嫌いです。それが下に来ると、ここであなたを助けようとするかどうかはサーバーの気まぐれです。 gitモデルは、実際にサブリポジトリレベルでのリモートアクセスをあまりサポートしていません。
あなたはこのレポの肥大化が編成されている方法を正確に応じて、一緒にプレイ可能性があるいくつかの部分的な解決策:
あなたが浅いおよび/または単一のブランチクローニングと遊ぶことができます。あなたは、少なくともあなたが望むバージョンのために完全なTREEを引き出さなければならないでしょうが、ヒストリと無関係のバージョンのファイルを最小限に抑える(あるいは、おそらくなくす)ことができます。
頻繁にこのサブツリーのバージョンを読むつもりなら、あなたは、元のレポをクリーンアップすることができないにもかかわらず、それだけでサブツリーの歴史を持つレポを作成するsubdirectory-filter
とfilter-branch
を使用して価値があるかもしれません。オリジナルのリポジトリの "次の"コミットからサブツリーを削除し、新しいリポジトリへのサブモジュール参照で置き換えます。 (しかし、単なる一回だけであれば、これは明らかに問題にはならないでしょう)
* "hashes refs"は受け入れられません。 'git archive some-commit - path/to/folder'が動作するはずです – poke
ドキュメントによるものではありません。 https://git-scm.com/docs/git-upload-archive – abergmeier
'git upload-archive'を参照してください!== [' git archive'](https://git-scm.com/docs/git-archive ) 'git archive [...] [ ...]'を明示する。 –
poke