初めてGitを扱う案件に入った時、不安な思いをしたのを覚えている。
何しろGitというものは、正しく使わないとインシデントやトラブルの温床になる代物だと噂に聞いていたためだ。
ITの現場に初めて触るものが出現することは日常茶飯事だし、このGitも触りながら学んでいくことができるはずだけど、
最低限の知識くらいは事前に書籍で勉強することにした。
そのおかげで、今に至るまで数年の間は大きな問題なくGitの恩恵を享受することができている。
世界中で広く使われているGitはもちろん危険なだけのものでなく、便利で生産的な技術だ。
ただそれはある程度使いこなせればの話で、自分も含めて基本的な概念を掴むのに少し時間を要する人を何人か見てきた。
そういうわけで、これからGitを触ることになった方々に向けて事前に勉強しておくと良さそうな書籍をピックアップした。
そもそもGitってなんぞや
ちょっとその前に、Gitが何かについて軽く触れておく。
超ざっくりいうと、ソースコードやドキュメントをバージョン管理するためのシステムがGitだ。
バージョン管理が何かという概念については、詳しくは本とかで勉強してほしいが、
ファイルの変更履歴を管理するためのシステムに当たる。
ローカル環境やファイルサーバでファイルを編集する時、ファイルをコピーしてバックアップを残す場合が定番だろう。
日付をファイル名に追加したりしながら。
Gitであれば、そういった手間をかけずに前バージョンのファイルを残しながら、いつ誰がファイルを編集した履歴も合わせて管理することができる。
そして問題があれば元のバージョンに戻したりでき、そういうのを複数人のチームで扱えるようにしているのだ。
ちなみにGitと同様にGithubという言葉もよく聞くと思うが、この両者は別の意味合いを持つ。
Gitがバージョン管理を行うシステムそのもので、GithubはそのGitをより有効に活用するためのWebサービスだ。
Githubを使うということはGitを使うということになるから、合わせて勉強しておこう。
ということで、おすすめの書籍をいくつか紹介していく。
わかばちゃんと学ぶ Git使い方入門
Gitを扱う案件に加わる前に、初めて読んだ本。1冊目はこれでいいんじゃないかな。
漫画と図がふんだんに扱われていて視覚的にわかりやすい作りになっている。
基本的にSourceTreeという無料のソフトウェア(グラフィカルにGitを操作できるツール)を使って解説がされている。
Gitというのは本来はCUIからコマンド操作で扱うものなのだが、SourceTreeを使えばコマンドを使うことなくソフトウェア上の操作で完結できる。
現場でもSourceTree使ってるという場合は向いているだろう。
個人でGithubのアカウントを作って練習ができるので、現場で初めて「リポジトリをクローンしといて」とか言われても対応できるようになるだろう。
深く細かい解説があるわけではないが、ページ数はそんなに多くなく、絵が多いのでかなりさらっと読めてしまう。
それでいて、基本的な概念とよく使う操作は一通り解説されているので、
最低限の知識を急ぎで身につけておきたい方にはおすすめ。
いちばんやさしいGit&GitHubの教本
こちらの本では、のCUI(コマンドで操作する画面)を使ってGitをコマンドで操作する方式で勉強していく。
コマンド操作でGitを扱う方が主流という現場も多くあるだろうし、慣れておくためにはおすすめ。
Linuxの操作にほとんど親しみのない方に対しても、最低限基本的なコマンドが解説されているため一緒に学習できる。
Github上にサンプルの資材が置いてあるので、それを使って実践的な練習ができる点も魅力的。
コマンド操作は敷居が高いかもしれないが、使いこなせるようになれば多分かっこいい。
Gitが、おもしろいほどわかる基本の使い方33
こちらもSourceTreeを使ってGitの操作を学んでいくスタイルで、
特徴的なのはGithubでなくBitBucketというWEBサービスを使用している点だ。
現場でもBitBucketを使うことになるという場合にはおすすめ。
SourceTreeならMacでもWindowsでも使えるので、学習するPC環境をあまり問わずに実践できる。
GitHub実践入門
"Github"を使った実践的な開発手法をメインに解説している。
もちろん基本的なGit操作や使い方も説明されているため初心者でも読み進められるが、
実践的な開発プロセスにも踏み込んで書かれているため、ある程度Gitの操作に慣れていて現場でGithubを使用している人も活用できる本。
タイトルにもあるPull Requestというのは、ファイルに加えた変更に対して他者にレビューを依頼するようなやり方で、
現場では非常によく使われる機能だ。覚えておくときっと役に立つ。
なおGitの操作は基本的にコマンドラインで行う形式で記載されている。
独習Git
この本はgitの操作を、コマンドとGUI両方で学習できる。
ただしGUIのツールとして使われているのはGit GUIというものだ。
ページ量が多く実践的な解説も充実しているが、初歩的な部分から説明されているため1冊で基礎から一歩踏み込んで学習を進めたいという場合におすすめ。
初めてGitに触れる人も少し現場で触って慣れている人も役に立つ内容のはずだ。
ただ演習も多く時間がかかるかもしれないので、素早くさわりを学習したい時よりもじっくり腰を据えてやりたいというケースに向いているだろう。
最後に
良さそうな本をあげてみたが、全部読む必要はなくて、1〜2冊好みのを選んで基礎を学んだらあとは現場で学習していけば良いと思う。
Gitを使えるようになるまで、覚えなきゃいけないワードと理解しなきゃいけない概念が結構多かった。
リポジトリとかブランチとかリモートとかローカルとか、プルとかプッシュとかフェッチとかプルリクとか、チームとかプライベートとかパブリックとか、コミットとかコンフリクトとかリバートとか。
現場ごとに運用ルールや使っている機能は様々なはずなので、無理に最初から全て網羅しようとせず、
基本だけ学んでおいて残りは現場で自然と覚えていくだろう。
ただ個人的に、Gitに関しては「できること」よりも「やってはいけないこと」を学ぶことの方が初めは重要だったりすると思う。
その辺はできるだけ予めおさえておきたいところだ。