オタフ☆クラブ

【初心者向け】エンジニアの強い味方!GitHubの使い方を学習しよう

githubのイメージ

「エンジニアになるためには、とにかくプログラミングの学習だけしていればOK!」・・と思ってしまうかもしれませんが、実はそうではありません(*>_<*)

AIエンジニアを目指すのであれば、統計学など数学の知識なども必要になってきますし、それ以前に正しくスピーディーにコードを書くためには、タッチタイピングが出来ていれば生産性もぐっと変わってきますよね。

プログラミング初学者の方でも、早い段階で知っておきたい知識の1つに「GitHub」があります。GitHubとは、簡単に言えば「自分が書いたプログラミングコードを公開できるツールのこと」です。

今回は、エンジニアの強い味方であり必須スキルであるGitHubの使い方を、一緒に学習していきましょう♪

kaho
kaho
GitHubって聞いたこともないけど・・という方でも大丈夫ですよ☆GitHubとはそもそも何なのかというところからご紹介しますね♪

Gitとは?

パソコンのイメージ

GitHubとは何なのかを解説する前に、Gitについて知っておきましょう。名前はとても良く似ていますが、GitとGitHubは別物です。

Gitとは、バージョンを管理できるツールのことです。誰が、いつ、そのコードを修正したのかがわかりますので、何人ものエンジニアで共同開発するためには欠かせないツールです。

ちなみにこのGitはシェルコマンドで操作しますので「シェルコマンドって何・・?」という方は、シェルコマンドの学習もあわせてやっておきましょう!paizaラーニングでも学習できますよ♪

GitHubとは?

GitHubのイメージ

GitHubとは、ソフトウェアを開発するために必要なコードを、管理することができるサービスのことです。Gitをオンラインで管理できるので、開発者には必須のスキルとも言えます。

つまり「Gitはローカルで作業できるバージョン管理ツール」「GitHubはオンラインでGitを管理できるサービス」と覚えておくと良いですよね。

GitHubは、コードを確認したりすることはもちろん、簡単なバグを管理する機能もあります。会社でGitHubを採用しているところも多いので、社内でのみ公開される場合はバグに合わせてセキュリティー面のチェックなどもおこなわれます。

GitHub

GitHubの特徴

GitHubの一番の特徴は、コードを通して他のエンジニアたちとコミュニケーションができるということです。自分の書いたコードを公開することで、いろいろアドバイスなども得られるというのはとてもスキルアップに繋がりますよね。

また、GitHubはエンジニア就活の場合にも役に立ちます。自分のGitHubアカウントを企業に伝えることで、採用担当者はあなたのコードを確認することができますよ。

またGitが「分散型」であることも特徴の1つです。かつては、リポジトリが1箇所のみの「集中型」であるCVSやSVNなどが主流でしたが、今ではGitがよく使われています。

「集中型」はリポジトリが1ヶ所ですが、「分散型」はサーバ側にある「リモートリポジトリ」と自分(クライアント)側にある「ローカルリポジトリ」に分かれています。普段の作業は自分のローカルリポジトリでおこなって、ある程度進むごとにリモートリポジトリへアップデートしていくスタイルです。

ちなみにGitHubでは「芝を生やす」という言葉がありますが、これは開発者自身が、自分の活動の状況を表示することです。GitHubでコミットすると、プロフィール内で当日のマスが緑色になります。このグリーンを芝に例えて、「芝を生やす」という表現をするんですね☆日々の活動状況が視覚化されますので、モチベーション維持になりますよね♪

最初にGitやGitHubでよく使う用語を知っておこう

キーボードのイメージ

さて、前の章ではリポジトリなどと言った単語が出てきましたね。少しだけ解説しましたが、ローカルリポジトリや、リモートリポジトリなども出てきました。

プログラミング初学者の方には耳慣れない言葉だったかもしれませんが、GitやGitHubでは、リポジトリなどの他に、よく使われる用語がいくつかあります。GitHubの使い方に入る前に、ざっと目を通しておきましょう♪

リポジトリとは

ファイルやディレクトリなどデータを保管しておくスペースのこと。データの状態や変更の履歴が残るので、開発作業の履歴が保存される。また、リポジトリには2種類ある。

ローカルリポジトリとは

2種類あるリポジトリのうちの1つ。自分のPC上の場所にあるリポジトリのこと。

リモートリポジトリとは

2種類あるリポジトリのうちの1つ。サーバなどネット上にあるリポジトリのこと。ここではGitHub上を指す。複数人で共有することが可能。

プッシュ(push)とは

自分の手元のローカルリポジトリに変更や追加を加えた場合、それを共有のリモートリポジトリに反映させること。

プル(pull)とは

共有のリモートリポジトリの変更や修正内容を、自分の手元のローカルリポジトリに反映させること。他の作業者がオンライン上のリモートリポジトリを変更した場合、自分のローカルリポジトリに自動的には反映されないため、手動でこの作業を行う必要がある。

コミット(commit)とは

リモートリポジトリにプッシュ(公開)する前に、変更した履歴をローカルリポジトリに保存すること。イメージとしては「下書き保存」のようなもの。ちなみにコミットは複数保持することができる。

インデックス(index)とは

リモートリポジトリにコミットする準備をするために、変更内容を一時的に保管する場所のこと。イメージとしては「下書き保存をする場所」のこと。

アド(add)とは

リモートリポジトリにコミットする前に、変更点をインデックスに追加すること。

ブランチ(brunch)とは

「ブランチ→枝」を意味するように、リポジトリを分岐させることができ、そしてその履歴の流れを保存することができる機能のこと。コードの分割・複製・まとめ、機能の追加、バグの修正などができる。他のブランチの影響を受けないので、ファイルを1から作り直さなくても、同じリポジトリの中で複数の開発や修正などができる。ブランチを利用することで、複数人での開発の役割分担が簡単にできるのがメリット。
【ブランチを使う基本的な流れ】ブランチを切る(新機能追加・開発のため)→ブランチ作成→開発→コミット。1つの機能の開発が終わるたびにプルリクエスト作成→コードレビュー(コードの問題チェック)→プルリクエスト承認→マージ完了。
ブランチを切るということは、追加作業、開発作業を分けることで、それぞれの作業を並行して行います。そしてコードレビューはブランチごとに行われます。

マージ(merge)とは

「マージ→結合」を意味するように、ブランチとブランチを結合させること。マージ元と、マージした先の両方に変更履歴が残る。

プルリクエストとは

オリジナルに自分の変更を反映させたいときに、オリジナルのオーナーに更新を依頼する通知方法。プルリクエストは、一つの機能の開発が完了したタイミングでおこなう。略してプルリクとも呼ばれる。これを使うことで、別の開発者に修正内容を確認してもらえ、コードの改善や修正、バグの回避などができる。

フォーク(fork)とは

GitHub上で別の開発者のリポジトリの複製をつくること。複製したものは自分で編集することができる。オリジナルのリポジトリもきちんと表示されるため、コードが複製元なのかコピーしたものなのかがわかる。

クローンとは

リモートリポジトリを、自分の手元のローカルリポジトリにコピーすること。修正などの変更履歴も複製される。フォークとよく似ているが、「フォークはサーバー上でリポジトリの複製をすること」で「クローンはサーバのリポジトリを手元のローカルリポジトリに複製すること」。
例えるなら「フォークはサーバー上で右から左にコピー」して、「クローンはサーバー上から、下にあるローカルにコピーをするので、上から下に降りてくるイメージ」ですね☆

コンフリクト(conflict)とは

「コンフリクト→衝突」を意味するように、リモートリポジトリとローカルリポジトリの両方で、同ファイルの同じ箇所に修正がされていて、自動でマージできずに衝突する状態のこと。コンフリクトしてしまうと、手動で編集しなければならない。
kaho
kaho
たくさん用語が出てきましたね!ひとまず、リポジトリには2種類あることと、push、pull、ブランチ、プルリクエストあたりはおさえておくと良いでしょう☆

GitHubの使い方

それでは、早速GitHubの使い方について見ていきましょう!学習した用語が出てきますので、わからなくなったら前の章を参照しながら読み進めてくださいね♪

GitHubのアカウントを新規作成しよう

ではGitHubの公式サイトからアカウントを新規作成しましょう。

GitHub公式サイト

作業手順のイメージ1

任意のユーザー名、メールアドレス、パスワードを入力します。この時パスワードが容易に推測できるものだとエラーになってしまいます。

入力が終わると以下のような画面になると思いますが、

作業手順のイメージ2

下にスクロールすると「join a free plan」のボタンがありますので、それをクリックします。

作業手順のイメージ3

次に何やらアンケートのような画面が出ますが、下に小さくある「skip」を押して飛ばしましょう。

次にまたアイコンが沢山並んだ画面になりますが、それも下にそのままスクロールすると、「Complete setup」のボタンがあります。

作業手順のイメージ4

途中で何度か、イラストを矢印で動かして「私はロボットではありません」という操作が必要になります。

次に、入力したメールアドレスの受信トレイを見てみましょう。GitHubから「メールアドレスを確認してください」と英語でメッセージが届いていると思います。

そのメール内の確認するボタンを押せば完了です!

1:【初回のみ】リモートリポジトリを作成する

メール内のボタンを押すと以下の画面に飛ぶかと思います。この画面が、一番最初に作るリモートリポジトリの作成画面です。このリモートリポジトリを作るのは初回のみとなります。

作業手順のイメージ6

以下の手順で入力していきましょう。

1.「Repository name」:このリポジトリの名前を決めて入力します。
2.「Description」:説明、概要のこと。記入しなくてもOK。
3.「Public」or「Private」:PublicのままでOK。Privateは有料会員のみ。
4.「Initialize this repository with a README」:あらかじめリポジトリ内にREADMEファイルを作成しておく場合にチェックをつけるが、ひとまずチェックはなしでOK。
5.「.gitignore」&「license」:NoneのままでOK。あとで追加、変更が可能。
6.「Create repository」→リポジトリの作成完了

作業手順のイメージ7

Createを押すと、次の画面になります。

 

作業手順のイメージ8

中央付近にあるアドレスは、ローカルリポジトリをリモートリポジトリにプッシュするときに必要になりますので、しっかりメモしておきましょう☆

「https://github.com(あなたのユーザーID)/(リポジトリネーム).git」となっている部分です。

2:ローカルリポジトリを作成する

では、まずMacの方はターミナルを開きましょう。ターミナルがどこかわからない方は、Finderで「ターミナル」と検索すると「ターミナル.app」が出てきます(^^)

ちなみに私はターミナルの代わりにiTerm2を使っています。無料な上に便利機能満載ですので、まだの方はぜひダウンロードしておきましょう♪

iTerm2公式サイト

ではターミナルまたはiTerm2を開いて、以下を入力しましょう。$マークはもともと先頭についていますので、入力しなくて大丈夫ですよ☆

$ mkdir newgit
$ cd newgit
$ mkdir pushtest
$ cd pushtest
$ git init

1行ごとにEnterで改行しながら入力しましょう。「newgit」と「pushtest」の部分は適当な名前でOKです。

このcdやmkdirが意味わからない!という方はシェルコマンドを学習するとわかるようになります☆ちなみに「cd→移動する」「mkdir(メイクディレクトリ)→ディレクトリを作成する」という意味になります。

最後の$ git initを入力後にEnterを押して、「Initialized empty Git repository in〜」と表示されればOKです!!これでローカルリポジトリが作成できました(*´∀`*)

3:ファイルをローカルリポジトリに登録(コミット)する

では、新規ファイルを作成して、ローカルリポジトリに登録(commit)してみましょう!ターミナルまたはiTerm2に以下を入力してください。

$ vi pushtest.txt

この「pushtest」の部分は適当な名前でOKです。これを入力してエンターキーを押すと、何やら左端に延々と「〜」が出てくる状態になると思います。

これは「vim」というものが起動しているのです。「vim」とは、シェルで利用できるテキストエディタのことです。

ターミナルの上の部分を見てみましょう。「1.vim」となっていますね。

これが起動すると、pushtest.txtの中に内容を入力することができます。そのまま打ち込んでも何も動かないと思いますので、「a」を押しましょう。

これで編集モードに切り替えられるので、入力できるようになります。ひとまずメッセージは何でも大丈夫ですので、「new test」と入力しておきましょう。

ちなみにメッセージは日本語はNGですので、アルファベットのメッセージにしておきましょう。入力後はキーボードの一番左上にある「esc」キーを押すと、コマンドモードに戻ります。

そのまま「:wq」を入力して(「:wq」は画面の一番下の行に表示されます)Enterを押すと通常のターミナルの画面になります。

【vim】起動のまとめ
vimが起動したら「a」(編集モードに切り替え)→コメント(英字のみ)入力→「esc」キー(コマンドモードに戻る)→「:wq」と入力→Enter

次に以下を入力しましょう。

$ git add pushtest.txt
$ git commit -m "pushcheck"

何やら英語で長い文章が出てきて「You can suppress this message by setting them explicitly:」と表示されればOKです☆これでファイルをローカルリポジトリにコミットすることができました!

4:ローカルリポジトリをプッシュ(送信)して、リモートリポジトリへ反映させる

では、先ほど作成したファイルをいよいよプッシュして、リモートリポジトリへ反映させましょう。

$ git remote add origin https://github.com(あなたのユーザーID)/(リポジトリネーム).git

このhttps://〜以降の部分は、GitHubに登録したときにメモしておいた部分です。次に以下を入力します。

$ git push origin master

すると「Username for〜」とあなたのユーザーネームを聞かれますので、入力してEnterを押します。次に「Password for〜」とパスワードを聞かれますので、GitHubアカウントを作成したときに決めたパスワードを入力しましょう。

鍵マークが表示されるだけで不安になるかもしれませんが、きっちり入力してEnterを押すと次に進むので安心してくださいね♪パスワードの入力ミスには気をつけましょう!

また何やら長い英文で「* [new branch] master -> master」と表示されれば成功です!!

ではGitHubの自分のリポジトリのページを開いてみましょう。

作業手順のイメージ9

作成した「pushtest.txt」がありますね♪これでローカルリポジトリからリモートリポジトリへのプッシュが完了しました☆

 

GitHubのイメージ2

今回はGitHubの基本的な使い方を学習しました。シェルコマンドの学習が必要だったり、ターミナルを使用したり、いきなりvimが出てきたりとなかなか大変だったかもしれませんが、早いうちからGitHubに慣れておくのがおすすめです!

またシェルコマンドの学習はpaizaラーニングでもさくっと短い時間で学べますので、まだの方はぜひこの機会に終わらせてしまいましょう☆ターミナルも、iTerm2のほうが便利機能がたくさんありますので、こちらもはやめに使い慣れておくと良いですね♪

GitHubが使えれば、エンジニアになれたときにすぐに現場で活躍できますし、GitHubで自分が書いたコードを公開していれば、他の先輩エンジニアの方からアドバイスを貰えたりするかもしれません。また、就活の場合でもきっと役に立つと思います。

kaho
kaho
ぜひGitHubを活用してエンジニアへの道を切り開いていきましょう!
燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ
トップへ戻る
タイトルとURLをコピーしました