うるおいらんど

「独習Git」を一読しました。+ちょこっとGitの使い方

追記があります。

どうも。お久しぶりです、Reoです。

ここ最近はずっとGitの勉強をしていました。ようやく一読したので紹介していきます。

 

今回「独習 Git」という本でGitの勉強をしました。

 

独習Git

新品価格 ¥3,542から (2017/5/27 23:53時点)

 

最近だとGitよりもGitHubという単語の方が世の中に浸透しているような気もします。

とにかくこの本を読んでGitすげえ!ってなりました。

まずはGitとは何かを軽く説明してから本のレビューを書いていこうと思います。

 

Gitってなんだ?

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。

Git -Wikipedia

色々なファイルのバージョン管理を楽にできるようになります。

バージョン管理というとプログラマ等だけに必要だと感じるかもしれませんが、PCを使う全ての人に知ってほしいぐらい!本当にすごい!

その理由も一番最後に書きました!ぜひ試して見てください!

 

Gitを学ぼうと思ったきっかけ

Gitというものを初めて知ったとき(というか実際に触ってみるまでは)、全然上記の説明がピンとこなかったんですね。

要はバージョン管理システムなわけですが、驚くことに私は4本のアプリをバージョン管理なしで制作していました。ヒィ

そのくらいバージョン管理というものに疎く、Git自体に興味はあったけれど、後回しでいいや〜って感じで触ったことがありませんでした。

 

きっかけは私の所属するチームでGitを使う機会があったということです。

Gitは同じプロジェクトを複数人で共有し、管理することがわりと容易にできちゃいます。

チームメンバーに最低限のGitの使い方を教えてもらったのですが、テンプレートとして覚えてるだけでエラーが出てもなんにも対処できないんですね。

本書を読むまでは自分がした作業をプッシュ(メンバーに共有)するぐらいしかできませんでした。

とにかく自分もできるようになりたいし、自分のアプリにも導入したいと思い、本書を購入して勉強を始めました。

 

Gitを使う時に知っておく必要のある全ての技術を

Gitの本ってわりといっぱいあるんですが、他書と比べての本書の最大の特徴は、Git自体を丁寧に説明しているという点だと思います。

 

ちょっと説明が難しいんですが、例えば

「Xcodeでアプリを作ることを学ぶことではなく、Swiftという言語自体の解説をされた本」

「Unityでゲームを作ることを学ぶことではなく、C#の書き方の解説した本」

「Webページを作る手順を学ぶことではなく、html/cssの書き方を解説した本」

といったものと同様な感じの印象でした。

もちろん、バージョン管理ができるようになるためにGitを学ぶというのはどのGitの本でも同じだと思うのですが、他のGUIツールであったり、GitHubの使い方であったりをメインに書かれた本ではないということです。

とにかくまずは何のツールもない状態で、標準のコマンドプロンプトと標準のGUIのみで事足ります。

 

なので、Git自体には強くなれますが、GitHubに強くなれるわけではない!という感じ。(もちろんGitHub等の説明もあります)

 

全部で20章のボリューム!

本書は訳書になるのですが、原書は「Learn Git in a Month of Lunches」というタイトルで、一ヶ月のお昼休みの時間でGitを勉強しようという本になります。

毎日お昼の1時間に1章ずつやっていけば一ヶ月で読破できるボリュームになります。

1章1時間程度なので約20時間で読破できるはず。

 

前半の10章分でGitの基本を学び、11章〜14章で共同作業でのGitを学び、15章〜20章は応用というか、より深いところまでGitを学ぶといった感じ。

GitHubの説明は第18章でされていますが、必要最低限といった印象です。

あとは第19章でSourceTreeの説明がされています。

 

演習と課題で実際に手を動かして学べる!

技術書系は本にかじりついているより、実際に手を動かして学ぶのが一番いいと思っているのですが、本書はそのタイプの本になります。

1つの章は

説明 -> 演習(実際にターミナルで手打ちする)   -> 説明 -----> 課題

といった構成になっています。

なので読みながら実際にコマンドを打ち、学ぶことができます。

 

演習をしながら学び、最後に課題をして、その章の理解度をチェックするといった形です。

ここで1番の問題が、課題の答えをサイトからダウンロードしてチェックしようとすると、答えが英語だ!!!ということ。

読めないことはないので頑張って読みました。英語の勉強になります。(?)

あとは全ての答えがついているわけではなく、ヘルプに載っているもの等は答えが載っていない場合もあったので、正しい答えなのかちょっと不安になりました。

 

コマンドラインとGUIの両方の使い方を学べる

Macでいうターミナルのことをコマンドラインと書いたり、コマンドプロンプトと書いたりしてしまって申し訳ない。

文字だけでコマンドを打つコマンドラインと、Git GUIやgitkというマウス操作で扱う方法の両方のやり方の説明が書かれています。

gitkはこういうやつです。

 

ターミナルだと文字だけですがGUIだと直感で理解することができるので、両方をちゃんと使えるようになることができます。

わたしは断然コマンド打って操作する方が好きなんですが、ただ普段ファイルを別フォルダに移動するときとかにわざわざターミナルを開くかというと、そんなことしませんよね。

そういう感じでGUIの方がやりやすいことはGUIで、そうじゃないことはターミナルで、といった操作ができるような説明がされていると思います。

 

Gitを丁寧に勉強したい人に

全部で20章、索引まで含めるとページ数は422ページ。結構なボリュームです。

正直Gitは大分使えるようになりました。

なんならコマンドラインも前より断然に使えるようになりました。

そういった意味でもすごく勉強になりました。

 

ただGitHubやSourceTreeが使えるかと言われると、正直すぐには使えません。

それまでターミナルとGit GUIで賄っていたのに、SourceTreeを使えと言われても、iPhoneからAndroidに乗り換えるくらいには使えません。

第18章までターミナルを使っていたのに、第19章でSourceTreeが出てきて、自分はターミナルとデフォルトのGUIに慣れているのに、実際には多くの人がSourceTree等のサードパーティ製ツールを使用している。。。

それでも私はこの構成でよかったと思いますし、この本を選んでよかったと思います。

 

というのもやっぱり、ちゃんとGitを理解していれば、結局のところやっていることは別のツールを使って同じことをやっているだけだからです。

Gitの説明はすごく丁寧にされていますし、個人的にはわかりやすかったです。

 

あ、最初のインストールのところでなんかちょっと躓いた気もします。課題も結構難しい。あと英語もムズイ。

 

これから私のアプリやその他諸々に導入して存分に活躍してくれるはず。わからなくなったらまた本を読み返して、うまくGitを使えるようになりたいですね。

 

Gitの可能性

Gitはプログラマだけでなく、PCを使う全ての人が知っていて損はないものだと思います。

私がそう思う理由を最後に紹介させていただきます。同時にこの機会にまだGitを使ってみたことがない人は使ってみてください!!

 

Gitはテキストファイル等だけでなく、画像もイケちゃうんですね。つまりはそういうことだ。

 

Gitのインストール

Macの方は http://git-scm.com/download/mac

Windowsの方は http://msysgit.github.io/

よりインストールをすれば、Gitコマンドを使えるようになります。

(ここからMacの説明のみになります)

 

ターミナルを開きます。

今回はデスクトップにフォルダを作ります。

cd ~/Desktop
mkdir secret

 

これでsecretというフォルダができます。(普通にデスクトップにフォルダおいてもおk)

cd ~/Desktop/secret

secretフォルダに移動します。

gitリポジトリを追加します。(詳しい説明はぜひ独習Gitで!)

git init

 

これでGitでバージョン管理をする準備ができました!

しかし今回するのはバージョン管理ではないです。大体の予想はついてると思いますが。

 

secretフォルダに他人に見られると困る感じの画像や写真をツッコミましょう。

 

今回はアザラシを2枚いれました。

ターミナルで

git add .

を入力

 

そして今度はアザラシをゴミ箱に突っ込んで消してしまいます。

もう一度同様に

git add .

 

これでぱっと見フォルダは空になりました。

ここからがGitのすごいところなのです!

 

アザラシを2枚追加したのがこのフォルダのバージョン1

アザラシを消したのがこのフォルダのバージョン2

といった感じなのです。

そしてGitはこのバージョンを管理しているので、もちろんバージョン1に戻ることができます。

 

つ、つまりは現在空っぽに見えるフォルダで

git log --oneline

としてあげると、ランダムな文字列と先ほどのメッセージが一覧になって表示されます。

 

アザラシの写真を見たい!となったときにはメッセージの左側のIDを用います。

git checkout aee3e0e

 

そうすると先ほどまで空だったsecretフォルダの中にアザラシが復活しています!

 

閲覧が終わったら、また最新の状態に戻しておきましょう。

git checkout master

 

これで一見また空のフォルダになりました。

 

つまりはそういうことです!!!!!

画像に限らずですが、隠したいファイルってありますよね〜〜〜。

隠しフォルダにすると、PC詳しい人にはバレちゃいそうだし〜〜。

 

全然本来の使い方ではないんですが、結構有用な使い方じゃないの!?と思っています。

独習Gitを読み終えてすぐに、こんなことしか思いつかない。というかできるのか試してみたかったのでついでに記事にしちゃいました。

 

これでGitに興味持ってくれた人がいたら私はすごく嬉しい。相当くだらないけどwww

 

とりあえず思うのは、大学とかはまずGitを教える講義とかすればいいのにねっていうことですね。

某芸工生はGit卓とかやりなよって思う。わりとまじで。超便利。

 

そんなこんなで長くなりましたが、独習GitのレビューとちょっとしたGitの使い方でした。

 

独習Git

新品価格 ¥3,542から (2017/5/27 23:53時点)

Additional Notes追記

Gitをこんなバカな使い方するの私だけだよ!!!!!!!!!!!

画像は容量がバカにならんのでこんな使い方はまずしませんが、例えばチャットログとかのテキストファイルぐらいだったら隠しておくのもアリだなーなんて今でも思ってます。 バカだなー。

追記する時にこんな使い方絶対やめろよって書くつもりだったのに、まだそういう使い方もいいなーって思ってる自分がいます。 バカなんだろうね。

しかしまだgitと出会って1年しか経ってないのか・・・今だとバージョン管理なしなんて考えられない・・・。

最近ではgitで困ったことがあっても、少し検索してすぐ解決できるようになったのですが、最初の頃は本書をめちゃくちゃ頼りにしてました。 確かに人から教えてもらって最低限できるだけで十分と言えば十分ですが、細かいところまで勉強しておいて損はないです!

それこそ全てを覚える必要はなくて、そういえばなんか前に一度読んだことあるような?というキッカケになれば十分です。 知らない知識は調べるのにも時間がかかりますし、そもそもあることに気づかないことも多いですからね。

って少し真面目なこと書いて中和。

だめか・・・・

Comments

コメントはありません。

現在コメントフォームは工事中です。