GitHubに開発用のテンプレートリポジトリを作成しておいて、そこからリソースを取得したいがリモートリポジトリとは紐づけたくない為、.git以外のリソースを取得したい、という背景。検索たがそれっぽい記事が見当たらなかったのでメモ。
結論
実際に作業するディレクトリを作成、移動した後で以下のコマンドを実行すると、作業ディレクトリ内に、.gitを除いたリソースが展開される。
git clone --depth 1 <remote repository url> . && rm -rf .git
解説
不要な履歴はコピーしないことで高速化
基本的にはcloneコマンドでリソースを取得することになるが、cloneコマンドはリモートリポジトリを履歴ごとコピーしてくる為、対象リポジトリの履歴がたくさんあればあるほど、コピーに時間がかかる。
それを解消する為、--depth 1
オプションを付与し、最新のコミットのみを対象とする。
.git以外のリソースだけをコピーするそのものズバリのコマンドは無い
例えば archive
コマンドでリソースのみを取得するという案もあるが、GitHubはリモートリポジトリに対しては実行できない模様。
その為、普通にcloneした後、不要な.gitを削除するという案になります。