git で treeish をサブディレクトリに書き出したい


プロジェクト構造の整理を行っていると、「git 上で treeish
と呼ばれているものを、指定したディレクトリに書き出す」をやりたくなることがあります。これを実現する方法はありますか?

一応背景を説明しますと、「今開発していたフロントエンドプロジェクトを、 firebase
に乗せようと思ったときに、今のトップレベルをサブディレクトリへ移動する」がやりたくなったので質問しています。




@出羽和之 さんの回答を参考に、

[code]

    git archive --format=tar --prefix=path/to/subdir/ <treeish> | tar xf -
    
[/code]

でひとまずいけました。




(背景の部分が理解できていないので勘違いしているかもしれませんが)  
[`git archive`](https://git-scm.com/docs/git-archive)の結果をpipeすれば実現できるかと思います。

[code]

    git archive --format=tar --remote=<リモートリポジトリ> <tree-ish> | tar xf -
    
[/code]

