LoginSignup
13
10

More than 5 years have passed since last update.

デザインファイルをGit LFSで管理する方法 + コミット時にSketchのファイルを自動書き出し

Last updated at Posted at 2017-02-24

git-lfs インストール

$ brew install git-lfs

新しいgitリポジトリ作成

もうある場合はやらないで良い

$ git init

git-lfsで管理したいファイルを追記

$ git lfs track "*.psd"
$ git lfs track "*.ai"
$ git lfs track "*.sketch"
$ git lfs track "*.png"
$ git lfs track "*.jpg"

追記されると.gitattributesが作成されてます

$ cat .gitattributes 
*.psd filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text
*.sketch filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text

コミットしてプッシュ

あとは普通のgitと同じようにコミットしてプッシュするだけ
SourceTreeでも普通にできました。

コミット時にSketchのファイルを自動で画像で書き出してコミットするスクリプト

sketchtoolインストール

$ /Applications/Sketch.app/Contents/Resources/sketchtool/install.sh
$ sketchtool -v
sketchtool Version 42 (36781)

sketchtoolで書き出してみる

sketchtoolの使い方はこちら

$ sketchtool export artboards pc.sketch --output=output/pc

pre-commit.shを作成

管理しやすいようにscripts/の下に置きます。
これでrootにある、sketchファイルが自動で書き出されるようになる。

scripts/pre-commit.sh
for filename in *.sketch; do
  sketchtool export artboards $filename --output=output/${filename%.*}
done

git add ./output/.

githookに設定する

さっき作ったスクリプトをgithookのpre-commitで実行されるように設定します。

$ echo 'sh scripts/pre-commit.sh' > .git/hooks/pre-commit
$ chmod +x .git/hooks/pre-commit

普通にコミット

$ git commit
Exported 01_top.png
Exported 02_news.png
Exported 03_about.png
Exported 04_contact.png
....
$ tree
.
├── README.md
├── pc.sketch
├── output
│   ├── pc
│   │   ├── 01_top.png
│   │   ├── 02_news.png
│   │   ├── 03_about.png
│   │   ├── 04_contact.png

おわり

便利。
git-lfsgithookだけ設定してあげて、SourceTreeでデザイナーさんでも使えそう!

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10