Git bashでzipコマンドがなくて困った人は多いかもしれません。
Git bashでzipを作るには様々な手段が存在すると思いますが、
下記の様にPowerShellを呼び出す方法が好きなので紹介します。
## ディレクトリ配下のファイルをすべてzipに
$ powershell -c Compress-Archive -Path "./*" -DestinationPath out.zip
なら最初からPowerShellを使えよと……
Compress-Archive便利ですね。
zip関数をbashrcに登録
下記の関数を~/.bashrcに登録すると良いかもしれません。
~/.bashrc
zip(){ powershell -c Compress-Archive -Path "${1:-./*}" -DestinationPath "${2:-./out.zip}"; }
引数なしの際はカレントディレクトリをout.zipしてくれます。
$ find .
.
./file1.txt
./sub_dir
./sub_dir/file2.txt
$ zip
$ zipinfo -1 out.zip
sub_dir\file2.txt
file1.txt
引数指定で任意のディレクトリを任意の名前でzipにできます。
//ディレクトリ自体をzipに含めたい場合
$ zip sub_dir out2.zip
$ zipinfo -1 out2.zip
sub_dir\file2.txt
$ rm out2.zip
//ディレクトリ自体はzipに含めたくない場合
$ zip sub_dir/* out2.zip
$ zipinfo -1 out2.zip
file2.txt
参考
Git Bashでzipを作るのにはさまざまな方法があるみたいです。
git-bash for windows を快適にするためのいろいろ : zipコマンドが使えるようにする
Git for Windowsなんだけどzipコマンド入ってないんだけど💢