📙

ゼロから学ぶGit/GitHubを勝手に補足

2024/05/12に公開

ゼロから学ぶGit/GitHubを読んで

ゼロから学ぶGit/GitHub 現代的なソフトウェア開発のために出版社様より献本いただきました。

私も以前から大いに参考にさせていただいていた、以下のウェブサイトを公開されているロボ太さんが著者ということで期待していたのですが、期待に違わぬ良書でした。

https://kaityo256.github.io/github/

最初に「Gitの学習は簡単ではない」と太字で書いてあることが好印象でした。そうです。簡単ではないんですよね。そして「はじめ」の章の最後に以下のようにも書いてあります。

いまはGitが広く使われているが、今後どうなるかはわからない。新たなツールが普及したときに、そのメリットとデメリットを見定め、必要とあれば乗り換える柔軟性が必要だ。

考え方によっては、書籍の自己否定ともとれる内容ですが、この本の本質(最も伝えたいこと)が、バージョン管理の重要性や考え方であって、Git/GitHubはあくまでそのためのツールなんだという馬鹿正直とも言える誠実な姿勢が良いなと思いました。

書籍は、初心者向けで、特に大学でこれからソフトウェアを学ぶような方にはピッタリと思うのですが、本当の初心者とか、新入社員がプロジェクトで使うときには少し補足が必要な気がしたので、ここにメモがてら書いておこうと思います。

新入社員は、会社でガイダンスやオンボーディングあるだろうというツッコミもありそうですが、まあなんというか、必ずしも必要なものがあるとも限らないですし。

書籍の勝手な補足

エディタ

Vimエディタに関しては、特に説明もなくいきなり出てきたので、Vimエディタについて以下記事などでキャッチアップください。

https://karaage.hatenadiary.jp/entry/2015/09/24/073000

ちゃんとVS Codeエディタの操作方法も書籍では触れているので、Vim怖いって人は飛ばしてVS Codeエディタから入ってもよいかもしれません。VS Codeエディタ自体に関しては、この書籍では(当然ながら)ほとんど触れられていないので、Zennの書籍を参考にしていただけましたら幸いです。

https://zenn.dev/karaage0703/books/80b6999d429abc8051bb

複数人での開発(Pull Request)に関して

複数人の開発はOSSの開発を前提としてforkしてからPull Requestするという流れが記載されています。

もちろんこれはこれで正しいのですが、仕事などでプライベートな開発をするときは、forkをしないで、共通のリポジトリを使って開発をすることが多いと思います。

以下の記事が参考になるかと思います。共通のリポジトリを使った開発の方がシンプルなので分かりやすいかと思います。

https://blog.qnyp.com/2013/05/28/pull-request-for-github-beginners/

GitHub関係で書籍では触れられてないこと

ささいなTips的なことです。以下記事参照ください。

https://karaage.hatenadiary.jp/entry/2018/01/19/073000

https://karaage.hatenadiary.jp/entry/2020/08/05/073000

書籍で知ったコマンド

あんまり使ってなかったけど、書籍読んで使っていこうかなと思ったコマンドです。

$ git diff --cached
$ git status -s
$ git log --oneline

その他は以下も参考になりそうです。

https://zenn.dev/eloy/articles/4017913277f629

書籍で引用されていたサイト

紙の本だと、リンク先に飛びづらいのでメモ。
http://techse7en.com/matome/188/

まとめ

ゼロから学ぶGit/GitHub 現代的なソフトウェア開発のために、良い本だったので勝手に補足をさせていただきました。

個人的に面白いなと思ったのが最終章のGitの中身です。こういう仕組み、知らなくてもGitもGitHubも問題なく使えるので、Gitを使うためだけの本だったら全く必要ない内容なのですが、これが書いてあるというのが、この本というか、著者のらしさだなと思いました。

初学者にも、一通り学んだ中級者の学び直しにも良い本と思います。

参考リンク

https://zenn.dev/levtech/articles/03850f1060866a

https://future-architect.github.io/articles/20240410a/

https://speakerdeck.com/kaityo256/github-term

https://qiita.com/yamadagenki/items/5e4ee79a7a680b1675e8

https://tech.findy.co.jp/entry/2024/10/04/070000

https://zenn.dev/praha/articles/07de6be200563b

関連記事

https://karaage.hatenadiary.jp/entry/2016/01/23/073000

Discussion