てきとうなさいと べぇたばん

gitで更新したファイルをtarでまとめる

Gitで更新したファイルのみtarに入れる

Gitで編集して更新したファイルだけtarに入れて、同期したい。とか思ったのでなんか考えてみた。

材料

  1. git-diff
  2. 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で調べたほうがいいかもしれないな・・・と