GitHubのリポジトリから.git以外のリソースのみを取得する方法

  • 2023.01.20
  • Git
GitHubのリポジトリから.git以外のリソースのみを取得する方法
     

GitHubに開発用のテンプレートリポジトリを作成しておいて、そこからリソースを取得したいがリモートリポジトリとは紐づけたくない為、.git以外のリソースを取得したい、という背景。検索たがそれっぽい記事が見当たらなかったのでメモ。

結論

実際に作業するディレクトリを作成、移動した後で以下のコマンドを実行すると、作業ディレクトリ内に、.gitを除いたリソースが展開される。

git clone --depth 1 <remote repository url> . && rm -rf .git

解説

不要な履歴はコピーしないことで高速化

基本的にはcloneコマンドでリソースを取得することになるが、cloneコマンドはリモートリポジトリを履歴ごとコピーしてくる為、対象リポジトリの履歴がたくさんあればあるほど、コピーに時間がかかる。

それを解消する為、--depth 1 オプションを付与し、最新のコミットのみを対象とする。

.git以外のリソースだけをコピーするそのものズバリのコマンドは無い

例えば archive コマンドでリソースのみを取得するという案もあるが、GitHubはリモートリポジトリに対しては実行できない模様。

その為、普通にcloneした後、不要な.gitを削除するという案になります。

Gitカテゴリの最新記事