【わかばちゃんと学ぶ Git使い方入門】でGitとGitHubについて学んでみた

【わかばちゃんと学ぶ Git使い方入門】に沿ってSourceTreeとGitHubを利用してGitについて学習してみましたので公開させて頂きます。
2021.01.31

はじめに

こんにちは、寒いの大好き上山(かみやま)です。
Gitについて以前弊社内でお勧めしてもらい購入していた「わかばちゃんと学ぶ Git使い方入門」を使ってGitについて学んでみましたので公開させて頂きます。
同じようにGit学習中の方や未経験で興味がある方の参考になれば幸いです。

おさらい Gitとは?

簡単におさらいします。Gitはバージョン管理システムのひとつです。
Gitを利用することによって変更を記録(バックアップ)したり、過去の状態へ戻したり、複数人の修正を合体することが簡単にできるようになります。

やってみよう「Git」

それでは本書「わかばちゃんと学ぶ Git使い方入門」に沿って学習していきたいと思います。
GitはコマンドではなくGUIツール「SourceTree」を使いますのでインストールから始めましょう。

SourceTreeのインストール

SourceTreeのサイトからダウンロードしてインストールを進めます。
SourceTreeを利用するにはBitbucketのアカウントがないと利用できませんのでBitbucketのアカウントも作成していきましょう。
ちなみにBitbacketとはWebベースのGitのホスティングサービスでGitとMercurialに対応しているそうです。GitHubとよく比較されたりしていますね。
SourceTreeは日本語対応されていますのでツール自体は日本語化されているのですが、サイトは英語なんですよね。まぁ、英語の勉強にもなりますので分からないことがあれば訳しながら進めます。

リポジトリの作成とコミット、チェックアウト

インストール後は、SourceTreeでリポジトリの作成をおこない学習します。
テキストファイルを用意して複数回コミットをしていき、任意のバージョンのチェックアウトも試してみました。
個人的にはコマンドで覚えたい派なのですが、GUIだと視覚的にも分かりやすいので簡単に試すことができて良いですね。

やってみよう「GitHub」

次はGitHubを利用してGitを学習していきましょう。

GitHubとは?

GitHubとはBitbucketと同様にWebベースのGitのホスティングサービスです。
「Git」の「Hub」ということでGitの仕組みを利用して、世界中の人々が自分の作品を保存、公開することができるようにしたウェブサービスです。
複数人でコミュニケーションを取りながら開発していくといったイメージですね。

アカウントの作成

本書を見ながらGitHubのアカウント作成を進めます。
変更があったのか利用目的のアンケートはありましたがプラン選択はでてきませんでした。
あと、初心者向けの学習コンテンツがあるようですので本書での学習を終えた後は試してみたいと思います。

さわってみよう GitHub

なんとかアカウントが作成できましたので、本書に沿っていろいろさわってみたいと思います。

フォーク(fork)

フォークとは、他の人が公開しているリモートリポジトリを自分のアカウントにコピーすることをいいます。
Gitについて学ぶ前はフォーク???という状態だったので少しは進歩できてますね。
私のタイプミスもしくは操作ミスかもしれませんが、本書の記載URLだとなぜかヒットせずに類似のものが表示されました。
といっても類似として表示されたものが本書で用意してあるリポジトリだったので問題ありませんでした。。。

クローン(clone)

クローンをするとリモートリポジトリをローカル(PC)へコピー(ダウンロード)することができます。

リモートリポジトリのURLのコピーします。

SourceTreeでクローンボタンを押してコピーしたURLを貼り付けます。

ローカルへコピー(ダウンロード)が出来ました。

ブランチ(branch)

ブランチとは平行して複数のバージョンを管理する際に利用します。
例えばリリース版のブランチ、機能追加版のブランチ、バグ改修版のブランチというように枝葉のように複数に分かれたバージョンを管理できます。
複数のリリースバージョンが存在するようなプロジェクトだとしっかり意識しないといけなさそうですね。

「profile」ブランチを作成してみます。

ブランチ「profile」が作成できました。

マージ(merge)

マージをするとブランチを統合することができます。別々のバージョンだったものを統合するイメージです。
こういうことを手動でやるとデグレードを起こしたりするんですよね。。。

プッシュ(push)

プッシュはローカルリポジトリの変更内容をリモートリポジトリへ反映させることをいいます。

プッシュボタンから変更内容をリモートリポジトリへ反映させます。

ローカルでの変更がリモートリポジトリへ反映されました。

プル(pull)

プルをおこなうとローカルリポジトリを最新状態にするためにリモートリポジトリからダウンロードをおこないます。


ローカルリポジトリになかった変更点がプルによってリモートリポジトリからローカルリポジトリにダウンロードされました。

まとめ

簡単ですがSourceTree、GitHubを利用してGitを学んでみました。
まだ本書の途中までしか学んでいませんのでまだまだ初歩の初歩といった状況ですが、さらに学習を進めて学んだことを公開していきたいと思います。
本書は漫画ベースで読みやすく、ツールは感覚的に操作が出来ると思いますのでこれからGit、GitHubを始めようとしている方にはお勧めです。
同じようにGit学習中の方や興味があるけど未経験の方の参考になれば幸いです。