git 管理しているファイルを zip 圧縮する必要があり、手動でいらないファイルを除いて圧縮していました。ですが調べたらコマンドでできるとのことだったので、手順をまとめました。
圧縮不要のファイルを設定する
zip アーカイブを作る際に、開発用ファイルなどの zip にする必要のないファイルがあるかもしれません。
git には.gitattributes
という設定ファイルでファイルに対していろいろな属性値をつけることができますが、その設定の一つにgit archive
コマンドを使った際のアーカイブ除外(export-ignore
)を設定できます。
(もし不要ファイルがない場合はこのセクションを飛ばしてください)
.gitattributes
ディレクトリ名 属性値 属性値 ...
という形で設定します。今回は除外設定なのでファイル名 export-ignore
を記述していきます。
下記は一例です。
/_src export-ignore
/.* export-ignore
/_src
… ルートにある_src
配下のファイル全て除外/.*
… ルートにある.(ドット)から始まるファイル全て除外
特定のブランチを zip 圧縮する
圧縮にはgit archive
コマンドを実行します。
git archive ブランチ名 --format=zip -o 出力ファイル名
--format
…tar
かzip
が選べます。未指定の場合は「出力ファイルの拡張子」から推測されるので、指定している場合は不要かもしれません。推測できない場合はtar
になります。-o
… 出力ファイル名の指定
例:main ブランチをユーザーディレクトリ直下に compressed.zip という名前で出力する
git archive main --format=zip -o ~/compressed.zip
※注意点として、冒頭で作成した.gitattributes
がmain
ブランチに含まれていない場合、設定が反映されません。ちゃんと.gitattributes
をコミットし、変更が反映されているブランチを圧縮してテストしましょう。
参考
さらに詳しい詳細、特定のブラン チの差分だけをアーカイブしたい場合は下記の記事が参考になります。