今さら聞けない!GitHubの使い方【超初心者向け】

今まで使ったことがない初心者向けに「GitHubの使い方」を解説した記事です。Gitを使う上で知っておきたい、ローカルリポジトリとリモートリポジトリ、コミットとプッシュなども細かく紹介。最後は、よく使うGitのコマンド12もあり。

開発者によってなくてはならないサービスとしてGitHubがあります。エンジニアにとっては当たり前のサービスですが、これからプログラミングの勉強を始める初心者にとってはよくわからないかもしれません。

そこで今回は、そんな初心者でも今日から使えるように解説していきます。そもそもGithubとは何なのか、どんな時に使うツールなのかを知っていきながら実際の使い方を紹介しています。

本格的に使おうと思ったらもっと多くのことを知らなくてはなりませんが、業務で使うということでなければ十分でしょう。

 

本記事はTechAcademyのオンライン完結のGitHub講座のカリキュラムをもとに執筆しています。

 

目次

 

GitHubとは

GitHubとは、ソフトウェア開発プロジェクトのためのソースコード管理サービスです。

公開されているソースコードの閲覧や簡単なバグ管理機能、SNSの機能を備えており、開発者にとって無くてはならないサービスです。

また、GitHubを使ってバージョン管理を行っている企業も多数あります。

 

PR

GitHubのアカウント登録

それでは早速GitHubに登録してみましょう。

まずは、GitHubのトップページにアクセスします。

ここで、ユーザ名とメールアドレス、パスワードを入力して、アカウント登録を行ってください。

github-01

 

続いて、プランを選択します。有料のプランもありますが、無料で使えるFreeプランがあります。

今回はFreeプランで登録するので、「Free」を選んでから「Finish sign up」ボタンをクリックします。

github-02

 

登録したメールアドレスに認証のメールが届きます。メールの内容に従いユーザ認証を行ってください。

以上でGitHubのアカウント登録は完了です。

 

GitHubを使う上で知っておきたい事前知識

早速GitHubを使っていきたいところですが、使い始める前に知っておきたい事前知識を3つ紹介します。

ここで紹介する言葉がまったくわからない場合は、理解しておきましょう。

 

事前知識1:ローカルリポジトリとリモートリポジトリ

リポジトリとは、ファイルやディレクトリの状態を保存する場所です。変更履歴を管理したいディレクトリなどをリポジトリの管理下に置くことで、そのディレクトリ内のファイルなどの変更履歴を記録することができます。

リポジトリは自分のマシン内にある「ローカルリポジトリ」とサーバなどネットワーク上にある「リモートリポジトリ」の2箇所にあります。基本的にローカルリポジトリで作業を行い、その作業内容をリモートポジトリへプッシュする流れで行います。

git_repository_figure

 

事前知識2:コミットとプッシュとは

最低限この2つは知っておきましょう。

  • コミット(commit) :ファイルの追加や変更の履歴をリポジトリに保存すること
  • プッシュ(push) :ファイルの追加や変更の履歴をリモートリポジトリにアップロードするための操作

 

事前知識3:ブランチ(branch)とは

ソフトウェアの開発では、現在リリースしてるバージョンのメンテナンスをしながら新たな機能追加やバグ修正を行うことがあります。このような、並行して行われる複数のバージョン管理を行うために、Gitにはブランチ(branch)という機能があります。

ブランチは履歴の流れを分岐して記録していくものです。分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ内でそれぞれの開発を行っていくことができます。

 

GitHubの使い方

それでは使い方を覚えていきましょう。

基本的なGitの作業は下記のような流れとなるので、GitHubを使って順番に紹介します。

なお、1の作成は初回のみ行い、2から5を繰り返します。

基本的に小さい作業の単位でコミットを行い、ある程度作業がひと段落した時にプッシュをするのが一般的です。コミットの作業がわかりやすいように、コミットメッセージを残しておくと、ログを追っていく時に役立ちますので覚えておきましょう。

 

  1. Githubでリポジトリを作成(git init)、または複製(git clone)する
  2. ファイルの作成、編集を行う
  3. ファイルの作成/変更/削除をgitのインデックスに追加する(git add)
  4. 変更結果をローカルリポジトリにコミットする(git commit)
  5. ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる(git push)

 

GitHubでリポジトリを作成する

まずはリポジトリを作成します。

GitHubにログインした状態で、「New Repository」ボタンを押下します。

リポジトリ作成

 

次に表示される画面では、「Repository name」の入力のあと、必要に応じて「Description」も入力します。

また、リポジトリの種類を「Public」か「Private」を選択します。この「Private」リポジトリは、有料会員のみ作成することが可能です。

最後に、リポジトリの中にあらかじめREADMEファイルを作成しておく場合は「Initialize this repository with a README」にチェックを入れます。.gitignoreやlicenseについては後で追加や変更ができますので、Noneを選択します。

github-04

必要項目の入力が終わり「Create repository」ボタンをクリックするとリポジトリの作成は完了です。

次の画面で、リモートリポジトリのアドレスが表示されますので、控えておいてください。

 

ファイルの作成、編集を行う

今回は、「hello.html」というファイルをローカルのPC上に作成した想定で進めます。

テキストエディタなどでHTMLファイルを作ります。

hello

 

はじめに、ローカルのPC上にローカルリポジトリを作成します。

今回は「awesome」というディレクトリを作成することにします。

mkdir awesome
cd awesome
git init

「mkdir」は新しくディレクトリを作成するコマンドで、「cd」はディレクトリを移動するコマンドになります。awesomeというディレクトリを作成し、そのディレクトリに移動してから作業が始まります。

そして、この「git init」コマンドはGitリポジトリを新たに作成するコマンドです。

バージョン管理を行っていない既存のプロジェクトをGitリポジトリに変換する場合や、空の新規リポジトリを作成して初期化する場合に使用します。git initコマンドを実行するとカレントディレクトリをGitリポジトリに変換します。

 

ファイルの作成/変更/削除をgitのインデックスに追加する(git add)

先ほど作成した「hello.html」のファイルをローカルリポジトリに追加しましょう。

以下のコマンドでインデックスに追加します。
インデックスとは、リポジトリにコミットする準備をするために変更内容を一時的に保存する場所のことです。

git add hello.html

 

変更結果をローカルリポジトリにコミットする(git commit)

次に、インデックスに追加されたファイルをコミットします。
コミットとは、ファイルやディレクトリの追加や変更をリポジトリに記録する操作のことです。

git commit -m “add new file”

 

これで、リポジトリに対してファイルの追加が記録されました。

ファイルが追加されているか確認します。

git status

 

さらに、リモートリポジトリに反映させる前に、リモートリポジトリの情報を追加します。この情報は、先ほどGitHub上に表示された、リモートリポジトリのアドレスです。今回は例を示します。

git remote add origin https://github.com//awesome.git

 

ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる(git push)

ローカルリポジトリの変更を、GitHub上にあるリモートリポジトリに反映させるため、以下のコマンドを実行します。

git push origin master

GitHubのユーザ名とパスワードを尋ねられますので入力してください。
これで、GitHubへプッシュしてリモートリポジトリへ反映させることができました。

 

よく使うGitのコマンド12

最後によく使うGitのコマンドを12紹介します。
既に紹介しているものもありますが、まずはここから覚えておきましょう。

 

git status

リポジトリの状態を確認するために使うコマンドです。
現在のブランチの名称や、追加・変更されたファイルやディレクトリの一覧を表示します。

git status

 

git add

ファイルやディレクトリをインデックスに追加するために使うコマンドです。
追加するときの[file_pattern]には、ファイル名やディレクトリ名を直接している他に、「*.txt」のように、ワイルドカードで複数対象を指定することもできます。

git add [file_pattern]

 

git commit

インデックスに追加されたファイルやフォルダの変更をリポジトリに書き込むために使うコマンドです。オプションを指定しないでこのコマンドを実行すると、コミットメッセージを記述するためのエディタが起動します。

エディタの使い方はそれぞれ異なりますので、簡単にメッセージを指定するには-mオプションを付けた後にダブルクォーテーションで囲ったメッセージを指定します。また、-aオプションを指定すると、変更されたファイルを検出してインデックスに追加する動作も同時に行います。

git commit -am “A first commit”

 

git branch

ブランチに対して各種操作を行うために使うコマンドです。下記のように使います。

  • git branch [branch-name]:ブランチの作成
  • git branch:ブランチの一覧表示
  • git branch –d [branch-name]:指定したブランチを削除

 

git checkout

ローカルリポジトリのブランチを切り替えるときに使うコマンドです。

git checkout [branch-name]

 

git log

ローカルリポジトリのコミット履歴を閲覧するために使うコマンドです。
-nオプションで履歴の表示数を指定できます。

git log –n 10

 

git grep

リポジトリのファイルの内容から検索したいときに使うコマンドです。

特定の語句が含まれているファイルを検索し、そのファイルのどこに語句が含まれているかを調べることができます。

git grep “検索単語”

 

git clone

既存のリモートリポジトリをローカルに落とすために使うコマンドです。
例えば、GitHubに公開されているリポジトリを自分のコンピュータへ落とすときに使います。

git clone [url]

 

git remote

リモートリポジトリを操作するために使うコマンドで下記のように使います。

  • git remote:リモートリポジトリの名称一覧を表示
  • git remote -v:リモートリポジトリの詳細一覧を表示
  • git remote add [name] [url]:リモートリポジトリを追加
  • git remote rm [name]:リモートリポジトリを削除

 

git reset

ローカルリポジトリのコミットを取り消すために使うコマンドです。
間違えてコミットしたり、修正漏れがあったときによく使います。

git reset –soft HEAD^

 

git merge

現在のブランチに対して、他のブランチで行った変更を取り込むために使うコマンドです。
以下の例では、ブランチbug-fixをmasterブランチにマージします。

git checkout master
git merge bug-fix

 

git pull

リモートブランチの変更を取り込むために使うコマンドです。
以下の例では、ローカルリポジトリのmasterブランチにリモートリポジトリoriginのmasterブランチを取り込みます。

git checkout master
git pull origin master

 

今回の記事は以上です。

ぜひご自身で使ってみてください!

Gitのインストール方法の記事もあるので、合わせてご覧ください。

[お知らせ]TechAcademyでは自宅で学べるオンライン完結のGitHub講座を開催しています。わからないことをチャットで質問すると、現役エンジニアのメンターが毎日すぐに回答します。