ISBN 9784798144610

独習Git

独習Git
出版社
翔泳社
刊行
2016-02

概要

Git の基礎から分散開発・GitHub 連携まで独学で体系的に習得する

想定読者

コマンドを場当たり的に使っており、リポジトリの仕組みやブランチ・リベースに自信がない開発者

こんな人には向いていない

  • すでに Git を日常的に運用し、チームワークフロー設計まで行っている中〜上級者には基本事項の比重が大きすぎる
  • コード演習よりも概念整理を優先したい読者には、演習主体の構成がやや冗長に感じられる可能性がある

読了後にできるようになること

  • ステージング・コミット・プッシュの一連の操作とその内部的な仕組みを言語化できる
  • ブランチがコミットへのポインタとして機能する仕組みを理解し、分岐と統合を自信を持って操作できる
  • git rebase によってブランチの起点を変更する概念と実際の手順を習得できる
  • git reflog やタイムマシン機能を使い、誤操作後の状態復元ができる
  • GitHub を介したリモートリポジトリとの共同作業手順(clone / push / pull)を体得できる
  • GUI ツール(gitk / git gui)を状況に応じて使い分けるための判断軸を得られる

本書のキー概念(章解説)

  • 第 1 章 はじめに
  • 第 2 章 Gitとバージョン管理の概要
  • 第 3 章 Gitに馴染む
  • 第 4 章 リポジトリの作り方と使い方
  • 第 5 章 GUIでGitを使う
  • 第 6 章 ファイルの追跡と更新
  • 第 7 章 変更箇所をコミットする
  • 第 8 章 Gitというタイムマシン — reflog を使った状態復元を扱う章。操作ミスへの対処が初学者の最大の不安であり、ここで習得価値が高い
  • 第 9 章 ブランチ(支線)を辿る
  • 第 10 章 ブランチをマージ(統合)する
  • 第 11 章 クローン(複製)を作る
  • 第 12 章 リモートとの共同作業
  • 第 13 章 変更をプッシュ(送出)する
  • 第 14 章 同期を保つ(プル)
  • 第 15 章 ソフトウェア考古学
  • 第 16 章 git rebaseを理解する — 「ブランチの起点を最新コミットへ移動する」という概念が図解なしでは掴みにくいため、前章のブランチ理解を固めてから読むと吸収効率が上がる
  • 第 17 章 ワークフローとブランチの規約
  • 第 18 章 GitHubを使う
  • 第 19 章 サードパーティ製ツールとGit
  • 第 20 章 Gitを研ぎすませる

ハイライト

  • 独習Gitを読んで、思いの外Gitコマンドが多かったので、タイトルの通り、Gitコマンドで100本ノックをまとめてみました。(本書がコマンド網羅性の高い実践的な入門書として機能していることを示す、読者の率直な反応)
  • コマンドへの恐怖・不安がなくなった。ちゃんとした教材で勉強することが場当たり的にコマンドを調べるより有効だと感じた。(本書の読了効果として複数読者が共通して挙げる心理的変化を端的に表した記述)

外部からの言及

  • 本書をきっかけに『Gitコマンドがこれほど多いとは知らなかった』と気づく読者が多く、100 本ノックや演習まとめ記事の動機づけとして引用されている。入門書として体系網羅性が評価されている。(qiita)
  • 本書で学習中の読者が書いた実装記事が複数存在し、章単位の演習内容が実際の開発タスク(シェルプロンプトへのブランチ名表示など)に直結していることが確認できる。(qiita)
  • 本書を通読した読者が共通して挙げる変化として、コマンド実行への『恐怖・不安の解消』がある。場当たり的な調べ学習から体系的な理解への転換を促す教材として機能している、という評価が複数の読了報告に見られる。(qiita)

編集メモ

Qiita 直接言及 5 件(うち 1 件が 1,404 likes の高被参照記事)、計 1,490 likes。入門書として読者の学習記録・演習解説記事が継続的に投稿されており、Git 学習教材として実務者に参照される実績がある。essential の閾値(10 件以上)には未達。

読む前に押さえておきたいこと

  • コマンドライン(ターミナル)でのディレクトリ操作とファイル編集の基本
  • バージョン管理の必要性についての漠然とした理解(経験ゼロでも可だが、複数人開発を経験していると課題意識が持ちやすい)

学習のコツ

  • 第 8 章『タイムマシン』と第 16 章『rebase を理解する』は初読時に詰まりやすい。先に第 9 〜 10 章でブランチ・マージの感覚をつかんでから戻ると吸収しやすい。
  • 各章末の演習は省略せず手を動かすことを推奨する。翻訳者による解答・ヒント記事(Qiita)が公開されているため、詰まっても参照できる環境が整っている。
  • 第 5 章の GUI(gitk / git gui)はスキップせず一度試すと、コマンドがどの操作に対応するかのイメージが定着しやすい。
  • コマンドラインの基本操作(ファイル作成・ディレクトリ移動)が初見の場合は、第 3 章の前にシェル基礎を別途押さえておくと演習がスムーズになる。
出版社による内容紹介

分散型バージョン管理システム「Git」は、現代のプログラム開発では必須の技術となってきました。現在のソフトウェア開発は多人数のプロジェクトとなり、バグフィックス、バージョンアップ、異なるエディション(Windows版/Macintosh版など)への分岐が生じます。Gitは、プログラムの開発の履歴を管理し、以前のバージョンへ戻したり、改編箇所の衝突を回避したりといったソースコードの管理が可能です。 本書は、いままでGitを使っていなかった方でもしっかりとした知識が身に付くように執筆された入門書です。バージョン管理システムは以前からありましたが、Gitは分散開発への対応が充実しており、「決定版」として普及しています。また、インターネットのGit Hubと組み合わせたオープンなソフトウェア開発も実現可能です。 本書を読むことで、Gitの基礎が身につくのはもちろん、さまざまな使いこなし、プロジェクトへの適用方法、開発支援サービスの利用についての知識が得られます。たんなるGit解説書としてではなく、一から学べる入門書としてお読みいただけます。丁寧かつ充実した内容で、現場で応用可能な技術がしっかりと身に付く一冊です。 第1章 はじめに 第2章 Gitとバージョン管理の概要 第3章 Gitに馴染む 第4章 リポジトリの作り方と使い方 第5章 GUIでGitを使う 第6章 ファイルの追跡と更新 第7章 変更箇所をコミットする 第8章 Gitというタイムマシン 第9章 ブランチ(支線)を辿る 第10章 ブランチをマージ(統合)する 第11章 クローン(複製)を作る 第12章 リモートとの共同作業 第13章 変更をプッシュ(送出)する 第14章 同期を保つ(プル) 第15章 ソフトウェア考古学 第16章 {git rebase}を理解する 第17章 ワークフローとブランチの規約 第18章 GitHubを使う 第19章 サードパーティ製ツールとGit 第20章 Gitを研ぎすませる

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。