わかばちゃんと学ぶ Git使い方入門を読みました。
本書を読む前の自身のGitに関する知識は以下のとおりです。
- Gitの基本コマンドは知っている(clone, commit, pull, push)
- Gitを個人で使用したことはあるが、チームで使用したことはない
- ブランチ、プルリクエストは聞いたことあるけど、使い方はわからない
読み終えた感想としては、自分のようにGitを少しだけ使ったことがある人や、Gitを使ったことがない人におすすめしたい一冊でした。
この記事では、もう少し掘り下げて感想をまとめてみます。
「漫画で説明⇒実践」の流れがわかりやすい
「マンガで説明⇒実践」の流れでGitについて学べるのがわかりやすくていいです。
マンガを読んで「へーなるほどー」と思いつつ、実践パートで実際に手を動かしてみて「そういうことか!」と理解できるのがいいですね。
例えば、「ブランチを作成する」や「プルリクエストを送る」の意味は知っているものの、そのやり方までは知らないという方もいると思います(僕です)。そんな方も、「マンガで説明⇒実践」の流れで学べるので理解がGitの深まるはずです。
真っ黒な画面が出てこない
Sourcetree(上の画像がそうです)というGUIツールを使ってGitの操作方法を説明しているのもいいと思いました。
「真っ黒な画面(コマンドプロンプト、ターミナル)でコマンドを入力するのは苦手。。」
という方も、つまずくことなく本書を読み進められると思います。
あと、Sourcetreeの操作方法がWindowsとMacの両方用意されているのも丁寧だなあと感じました。
本書内にも書かれていますが、Gitの本領はコマンドライン(黒い画面でのコマンド操作)なので、「SourcetreeでGitの基本操作を覚える⇒黒い画面でのコマンド操作に挑戦する」という流れが、Gitの理解を深めるステップとしてよさそうです。
実用的なGitの使い方も載っている
- 過去に戻って新規ブランチを作成する
- 過去のコミットを打ち消す
- 直近のコミットメッセージを修正する
基本的なGitの使い方だけでなく、上記のような実用的なGitの使い方も載っています。
開発をしていて、「こういうときどうすればいいんだっけ?」と疑問に思っていたGitの使い方がいくつも載っていて参考になりました。この本にはこれからもお世話になりそうです。
学んだこと
ここからは自身が学んだことをまとめます(自分用のメモです)。
- ステージングエリアの必要性
- 複数のファイルを小分けにしてコミットしたい場合
- まだコミットせずにおきたい変更がある場合に必要
- チェックアウトは、任意のコミットに移動すること
- Git(分散型)の特徴
- オフラインでも仕事ができる
- 他の人に影響を及ぼさずにいろいろ実験できる
- いざというときに復元しやすい
- プルリクエストからマージまでの手順
- フォークする
- クローンする
- 作業用のブランチを作ってコミットする
- プッシュする
- GitHub上でプルリクエストを作成する
- マージされる
- リバート
- 反対の内容で新規コミットを作ることで、過去の変更を打ち消すこと
- 過去のコミットを削除するわけではない
- リベース
- 履歴を一直線にすること
- 履歴を改変するので危険性あり
- すでにリモートリポジトリ上に存在するコミットは、リベースしないこと
- 慣れないうちはマージを使うべし
- フェッチ
- リモートリポジトリから更新内容をダウンロードしてきて、ローカルリポジトリ内のリモート追跡ブランチを更新する
- リモート追跡ブランチ(origin/○○)を更新するだけ
- ローカルブランチは更新しない
- マージ
- ローカルブランチを更新する
- フェッチ+マージ=プル
- 直近のコミットメッセージは、プッシュ前ならamendで修正できる
まとめ
わかばちゃんと学ぶ Git使い方入門、よかったです。
「Gitを勉強しようと思っているけど難しそう。。」
「Gitを使ったことがあるけど、よくわかっていない。」
本書は、そんな方におすすめのGit入門書です。ぜひ、わかばちゃんと一緒にGitを学んでみてはいかがでしょうか。
Webで続編を公開しているようです
本記事を公開後、著者の方から連絡をいただきました。嬉しいですね。なんと、Webで続編が公開されているようです。ぜひぜひチェックしてみてください。
素晴らしい記事をありがとうございます!✨
Web連載で書籍版の続きのお話も公開しているのでよかったらぜひ!コマンドでの操作も少し載せています(10〜12話)#マンガでわかるGit 10話「masterブランチを守れ!〜危険な強制プッシュ〜」 | リクナビNEXTジャーナル https://t.co/0PnYjLrcB7— 湊川あい🌱技術書典5【あ20】マンガでわかるDocker②とHTTPギャグ漫画 (@llminatoll) 2018年9月8日