【Git】サルでも分かるとか言われても分かんねーよって思ってたけど、少しだけGit使えるようになってきた話

Git使ってます?Git。

覚えなくちゃなあ…でもあれ正直よくわかんないんだよなあ…。そんなデザイナー結構いるんじゃないかと思いますが(いてくれ!)いかがでしょうか。

一応、ご存じない方のために概要を抜粋。

Git(ギットまたはジット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。もとはLinuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。Linuxカーネルのような巨大プロジェクトにも対応できるように、動作速度に重点が置かれている。現在のメンテナンスは濱野純 (Junio C Hamano) が担当している。
Wikipediaより

つまりGitとは、コードや画像の修正・変更ごとにファイルの状態を記録し、それぞれのバージョンを管理することができるシステムであります。

元々はソフトウェア開発などの現場で使われているイメージでしたが、ここ数年はWebデザイナーなどフロントエンドの現場(特に修正や変更の多いWebサービス系)にも急速に浸透しつつあり、HTMLやCSSなどのファイル管理で用いられることが増えてきました。

こういったシステムを導入することで、複数人が作業する現場でありそうな、

  • HTMLを修正前の状態に戻したいけどすでに上書き保存しているので戻せない
  • 間違えて古いファイルで最新ファイルを上書きしてしまった
  • 戻せないじゃ困る…ということで「bak-index-20140804.html」みたいなゴミファイルがどんどん溜まっていく
  • 複数人で社内サーバー上の同じファイルを同時に編集してしまった

…みたいな旧来の(くだらない)問題がほぼほぼ解消されるわけですね。素敵やん。

サルでも分かるとか言われても分からない件

Gitは基本的にCUI、いわゆる黒い画面(Macで言うターミナル)に直接コマンドを打ち込んで操作する必要があるので、普段その手の作業をしない人には敷居が高く、「うっ」と少し引いてしまうことも多々あるかと思います。

日常的に使えている人が急速に増えているものの、なかなか手が出せないでいる人もまた多い…。個人によって、理解、活用度合いに大きな幅があるのがここ数年から現在までの状態だといえます。

そんな声を受けてか、2012年頃から現在に至るまで「サルでもわかる〜」とか「ノンプログラマーでも分かる〜」など、挑戦的なタイトルを冠したGit解説ブログ、スライドが多々登場しました。そうか、サルでも分かるのか。

当然ひと通り読んでみて少し触ってみたりもしたんですけど、結局その時はよく分からずじまいで終わってしまいました(サル以下)。結局のところ、

  • 黒い画面が苦手な人向けにGUI(アプリ)もあるよ!って言う割に結局黒い画面の解説が多い
  • ひと通り全てを説明されるので、ブランチとかちょっとややこしいところでつまづいて結局全部面倒くさくなる

に尽きました。こう思うのおれだけかなあ。

結局遅かれ早かれ黒い画面覚えないと複雑な操作はできないとか、上っ面じゃなくて根本的に理解した方が結局早いとか、まあわかるんですけどね。
難しいところは一旦置いておいて、簡単な部分で「とりあえずやってみる」で徐々に覚えていく派の自分はなかなか既存の解説記事に馴染めず、しばらく苦手意識をもっていました。Gitコワイ。

Web制作者のためのGit入門

そんなときに読んだのがこちらの「Web制作者のためのGit入門」となります。

Chapter1「Git入門編」は、Gitの入門者向けに、Gitの概念から導入、基本操作までを解説。
CUIが苦手な初心者でも取り組めるよう、GUIツールであるSourceTreeを使い、サーバーにはGitHubを利用して、解説していきます。
Gitのインストール、リポジトリの作成、コミットやコミットメッセージの入力といったGitの基本操作にはじまり、GitHubのアカウント作成、 GitHub上でのプッシュ、クローン、プルなどの操作、などの「初心者はこれだけはおさえておきたい」部分を順を追って説明しています。
操作手順を丁寧に解説していますので、Git経験ゼロからスタートする方は、Chapter1の解説に従って一緒に操作し、Gitの概念や、実務での作業に慣れていくとよいでしょう。

Chapter2「Git実践編」では、Gitをある程度使いこなしている中級者向けに、CUI操作を前提に、Gitの活用ノウハウを解説しています。
適切な履歴の作り方、rebaseで履歴変更、checkoutやreset、reflog、revertを使った変更の戻し方、ブランチの運用、マージ の手法、コンフリクトの解消、リモートとの連携など、Gitをもっと便利に使いこなしたいなら知っておきたい機能や考え方を扱っています。

マイナビBOOKS 内容紹介より

基本的にはGitを使ったことない人、苦手意識を持っている人、なんとなくで使ってしまっている人向けの入門書だな、という印象です。

Chapter1は、GUIツールSourceTreeを用いたGitの基本操作の解説です。黒い画面ほとんど出てきません。やったね!
SourceTreeの操作方法をベースとした丁寧な解説なので、テキスト通りに進めれば戸惑う部分はほとんどありません。自分は多少さわりの部分は勉強していましたが、Gitに初めて触れる人でもおそらく問題なく理解できると思います。

「変更の一部分だけコミットしたい」「なぜかプッシュすると謎の英語メッセージが出てエラーになる…」などよくあるケースをもとに解説が進みますが、やはりどうしても初心者には少し難しい操作もでてきます。ブランチとかコンフリクト対応とか。
本書の(ある意味)大きな特徴だと思いますが、そういう部分では必ずと言っていいほど「上級者にまかせましょう」とあります。すごい。投げっぷりがすごい。

git

潔い切り捨てぶり。好き。

え、そんなんでいいの?って感じですが(きっとダメなんだろうな)、「とりあえず最低限だけ覚えて、実際の作業に使ってみたい」と思っていた自分には、良い意味で緩いこのレクチャーの仕方がピッタリはまりました。

初心者の大半はGitへの漠然とした恐怖感が大なり小なりあると思いますが、「ここまでは多少しくじっても大丈夫」「ここをミスると戻すのが大変!上級者に頼ろう!」という線引が非常に明確でわかりやすいのが本当に助かります。うむ、じゃあ簡単なココまでは使ってみようかな、という気持ちも湧いてきます。がんばろうがんばろう。

※一旦スルーされた部分は、CUI(黒い画面)中心で解説されるChapter2できちんと補足されているので、そちらを読めば最終的にカバーされる構成になっています。Chatper2は1よりちょっとむずかしいですけど。

そんなわけで実際にGitを(少し)活用してみる

Sourcetree

そんなわけで、現在当サイトのテーマファイルをGitで管理しています。自分一人で管理しているのであまり意味ないといえばないんですけど、2台のMacで作業しているので、各マシンでファイルの同期取ったりとかで結構便利に使えています。一人で運用してるとなんか寂しいけど。

ご覧のとおりファイルの上書きや簡単なブランチ程度しかまだ使ってませんが(そもそもそんなに大きい修正がないので)、今後サイトのリニューアルをしたり、仕事でGitを使う時にはもっといろいろやってみようと思えるようになったのはよかったですね。

いろいろなスライドやブログを読んでは挫折してしまい「Gitコワイ」と先入観や苦手意識を持ってしまっている方は、少し緩めの入門書「Web制作者のためのGit入門」を試しに読んでみてはいかがでしょうか。

カテゴリ:Blog タグ:, ,