Git
未来電子

これがGitの最適な勉強法‼︎ 文系学生がご紹介します‼︎

はじめに

インターン先でプログラミング勉強中の文系学生。
 Gitに関していろいろ勉強してきたから、一度効率の良い勉強法をまとめてみよう。

最初はインターネットの記事を検索しない

「Gitってどういうの?」
このような状態から勉強を始める場合、ほとんどの人がインターネットの記事で情報を集めるだろう。
そのような人に伝えたいことがある。

インターネットだけでGitの勉強をしてはいけない

インターネットの記事はその記事を書く人によって、レベルが異なる。
どれだけ初心者に向けた書いた記事でも、「これくらいわかるよね」という思い込みがどうしても記事に反映されてしまう。
その結果、「わからない単語が出てきたら、そのキーワードで別の記事を検索、その記事にもわからない単語があったら検索・・・」というループを繰り返してしまう。
勿論、終わりはある。
けれども、振り返ってみると、基本的な知識を得るために膨大な時間を費やしてしまっているのだ。

本を読もう!!

「じゃあ、どうやって勉強を始めたら良いの?」
その答えは、本を読むことだ。
「本も書く人によって内容変わるじゃん・・・」と思うかもしれないが、インターネットの記事ほどではない。
本を読むことの最大のメリットは、Gitの歴史から扱うツールのインストール方法、コマンドの説明、実践など、流れるように勉強を進められることだろう。
インターネットで勉強するとなると、どうしても「〇〇編」のように断片的な情報しか集められない上、どのサイトの情報が正しいのかわからないこともある。
本の情報が全て正しいわけでもないが、その内容を軸にすることが可能だ。

本を読んでわからないところがあれば、インターネットで検索する

この方法がGitに限らず、プログラミングに関する勉強法として、最適ではないだろうか。

最適なGitの勉強法

では早速、Gitの勉強法を見ていこう。

導入編

「そもそも、Gitって何?」
最初は誰だって、このような状態から勉強を始める。
先述のように、最初は本を読んで欲しい。

「でも、たくさん本あるし、どの本にしよう・・・」
自分がオススメする本は、わかばちゃんと学ぶGit使い方入門

「マンガで学ぶ系かよ・・・」と思うかもしれないが、基礎知識を学ぶためには、このような書籍が最も適している。
そもそも、新しいことを学ぶ際は、イラストがなければ理解するのが難しい。
どれだけ分かりやすい言葉で説明されても、文字が羅列されれば読むのに疲れてしまう。
イラストを通じて、基礎知識、操作の流れを理解しよう。

また、この本ではGitの操作にSourceTreeを用いている。
SourceTreeがあれば、ターミナルを利用せずにGitの操作が可能だ。
ターミナルからだと、文字でしか内容を教えてくれないため、自分がしている操作が分かりづらいだろう。
「会社でGitを使っているけれど、使い方には特に指定がない」
「個人的にGitを勉強したい」
このような人は、この本を参考にGitだけでなく、SourceTreeの使い方も学んでみることをオススメする。

基礎編

「なんとなくわかってきたかも」
この状態になったら、次の本を読んでみて欲しい。
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
タイトルにもあるように、この本はGitHubを使いながら、Gitについて学んでいく。
GitHubの簡単な説明をすると、Gitのデータを管理してくれるサイト。
データの更新やタスク確認、コメントのやりとりなどを、ここで行うことができる。
Gitを扱うのであれば、知っておいて損はないだろう。

この本を基礎編の教材として選んだのは、Gitに関する操作の詳しい仕組みを教えてくれるから。
特に、Pull RequestはGitを扱う上で欠かせない操作。
理解できるまで繰り返して読むことをオススメする。

実践編

「だいたいわかったから、自分がどこまで理解できているか確かめたい‼︎」
ここまできたら、このサイトでどこまで理解できているか確かめてみて欲しい。
Learn Git Branching

このサイトでは実際にコマンドを打つだけでなく、どういう操作が行われているかを確認することができる。
上級レベル以外は取り組んでみて、指を動かして学習を進めてみてはどうだろうか。

まとめ

Gitの操作を習得すれば、組織の仕事だけでなく、個人の仕事、趣味もはかどるだろう。
これを機に、Gitの勉強を始めてみてはどうだろうか?

参考資料

わかばちゃんと学ぶGit使い方入門
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
Learn Git Branching