gitで更新したファイルをtarでまとめる
TOP > てきとうにこらむ > このサイトについて。 > gitで更新したファイルをtarでまとめる
Gitで更新したファイルのみtarに入れる
Gitで編集して更新したファイルだけtarに入れて、同期したい。とか思ったのでなんか考えてみた。
材料
- git-diff
- tar
git-diffのオプションで、--name-onlyというオプションがある。これは、更新したファイルを一覧で表してくれる。そして、tarのオプションの中には、--files-fromというオプションがある。ファイルパスをまとめたテキストファイルのみをtarにまとめる。
--files-fromというオプションは、rsyncにもある。
実際にやってみる
filesfromというファイルに一度更新したファイルのリストを保存。
$ git stash
$ git diff --name-only HEAD^^ > filesfrom
tarでfilesfromにあるファイルだけまとめてしまう
$ tar czxf master.tar.gz --files-from filesfrom
これで、master.tar.gzは更新したファイルだけ入っている。
$ tar tvfz master.tar.gz
なんか・・・めんどくさい
こういうのって、git-archiveに無いのだろうか?man git-archiveで調べたほうがいいかもしれないな・・・と