WP-D Week 1日目 GitについてLevel Up!

WP-D WEEKに参加してます。

WP-D WEEKは、6日間連続でウェブのことでセッションしましょうというイベントで、有料ではあるのですがスピーカーの面々が話を聞いてみたくなるような方ばかりだったので、スケジュールの折り合いはあとでつけようと一旦全て申し込んでおいたのですが、ここにきて抱えてる仕事の手が割と空いてきてて、どうやら全部行けそうな気配がしてきました。

昨夜は偶然知り合いの制作者の方と会場でお会いして、近況の報告や、セッションの内容に関して自分たちの仕事として落としこむならどうなのか、なんてことをちょこちょこと話しながらセッションを聞いたのですが、こういうのとても嬉しいです。助かります。

気づくと会場には顔見知り程度ですが知ってる方がちらほらと。東京のウェブ制作者イベントに無造作に参加して、偶然知り合いがいるってのはよく考えたらすごいなと思います。でもほとんどは自分よりもデキる人ばかりなので、だいたい萎縮してるんですけど…

こういった機会に気軽に足を運べて最新技術や最新の知見を軽微な負担で知ることが出来て、続けていると少しずつ知り合いも出来てきて、僕自身は大した制作者ではないですが、だからこそ、東京にいるというのは大きくメリットとして作用しているなあと思います。

さて、せっかくなので、感想程度記録しておこうと思います。

昨夜はGitについてでした。

僕はGitを、制作したファイルのバージョン管理(というか手戻り対策)として自分だけで使ってはいたのですが人と共有したことはなく、先日仕事をお願いしたエンジニアの方とファイルを共有するのに初めてプルを使って、便利さに驚きました。

Gitのメリットはバージョン管理のみならずそれを複数人で上手く共有できるという部分にあると思うのですが、それを誰かと共有するためにはお仕事をご一緒する周りの方の環境と意識、制作フローを全て揃える必要があって、残念ながら僕が日常的に仕事をご一緒している方々は今のところSassやGitを使っていないので、なかなか共有の機会に恵まれないのが僕の現状です。

機会があれば仕事のパートナーたちにGitを啓蒙したくて、自分自身がもう少しちゃんとGitを知れればと思いセッションに臨みました。

話された内容は恐らくなんらかの形でシェアされるとは思うので、自分に響いたところだけメモとして。

大串肇さん(メガネさん)

全くGitを知らない方向けに、Gitとは何かと、SourceTreeを用いてのGitの使い方の説明でした。

  • コミットはマメに。コメントもちゃんと(一つの作業単位くらいでコミットしたほうがいいみたい)
  • 以前のバージョンに戻す際は、戻したいバージョンの行をダブルクリックすればフォルダの実際のファイルのほうが元に戻る。また、それで元に戻した作業ファイルも一度でもコミットしてればそこまでの変更をGitが保持してくれるので、再度元に戻せる。
  • お客さん側であちこち変更しちゃいましたなんてときも、リポジトリにファイルを上書きすればGitで差分を見ることができる。
  • 書籍を共同執筆する際などにもいいツール

吉澤富美さん

GitLFS(LargeFileStrage)について

  • Gitはもともとソースコードなどのテキスト情報の変更を監視するのに長けている。
    それを画像などのバイナリファイルも監視対象とするGitの拡張機能として開発されている。
  • 画像の実態は別管理(それをLFS側に保存)として変更点のみをバイナリでGitのほうに持つという仕組み。
  • 現在リモートリポジトリでLFSに対応しているのはGitHubのみ。(5$ 50GB/month)
  • コミット、プッシュ、プルなどでよくコケる。
  • 色々と制限が多い。一度に100ファイルしか同期できず、100ファイルごとにIDパスの入力があったりしてめんどくさい。
  • 色々と制限はあるけれど、画像などのバイナリデータとソースコードをGitで一元管理することが可能
  • Gitからのデプロイはこれまでソースコードのみだったが、LFSを併用することで全てのファイルをアップすることが可能に

実用にはもう少しこなれる必要がありそうかも。

質疑応答

LFSを案件ベースで使ってもいいと思えるタイミングは何を持って判断すればいいか
プルやコミットでコケなくなったときではないか
デプロイのやり方
deploy.ioなどのサービスがある
第三者のサービスはクライアントNGになる場合がある
制作をチームで行う際の決め事とか
アップ用のマスター 作業用のブランチといった切り分け
gitフロー 本番は必ず本番で動くものを明確に
githubフロー 作業ごとにブランチ切って、終わったらバンバンマージしていく
フローはチームごとに違うから、合わせるしかない
リモートリポジトリを自前に作る方法は?
GitLabなどのオープンソースのツールはある。でもウェブサービスを使ったほうが楽なんじゃないか

雑感

1日目はだいたいこんな感じのお話でした。

エンジニア寄りの方のお話を聞くと、徹底的に効率や合理性を求めて常に新しい技術に注目して、どんどん取り入れていこうとする姿勢に感心します。

自分は普段、学習コストをかける余裕が無くてついついやりなれた時代遅れの手法を選んでしまったり、チームでの作業フローの実態として旧態依然とした手法しか選べない場面も多いのですが、こういったよりよい手法や知見をすぐに移行はできないまでも知識としてなるべく蓄えて、少しずつ自分や、周りの業務に反映していきたいものです。

とりあえずGitをもう少し使いこなしたい、と思いました。