バージョン管理ツールであるGitHubは、プログラマーにとって必須のサービスではある一方、初心者にとっては、よくわからない・わかりにくいものかもしれません。
また、経験者であっても、様々なことを学ぶうちに、うっかり度忘れ・記憶違いということもあるでしょう。
そこで、自らの覚書・メモも兼ねて、「そもそもGithubとは何なのか」、「どんな時に使うものなのか」を説明・記述していきたいと思います。
目次
GitHubとは
「GitHub(ギットハブ)」とは、Gitを利用したプログラムのバージョン管理を行うウェブサービスのことを言います。
Git(ギット)とは、プログラム等を記述したソースファイルのバージョン管理を行うためのツールのことです。
複数人でプログラミングを行う場合、例えば、「誰が、どのファイルの、どの部分を修正したのか?」といったソースコードの管理・運用をする必要があります。
Gitはこの様な管理を行うためにつくられたツールで、Gitを使うことにより、複数人で開発したソースファイル一式を一元管理することができます。
具体的には以下のようなことが可能です。
- ファイルの変更履歴を管理
- 過去のバージョンに戻せる
- さまざまなファイルを管理できる
- チームで作業を共有できる
GitHubは、Gitのリポジトリ(ソースファイルが格納されたディレクトリなどを保存する保管場所)をWeb上でグラフィカルに扱うことができるツールで、導入することにより、GitHub上で管理しているプロジェクトをメンバーごとにコピーしてローカルで作業を行い、修正したファイルをGitHub上で共有するといったことが可能です。
GitHubでは、「ローカルリポジトリ」・「リモートリポジトリ」という概念があります。
- 自分のPCで作業する「ローカルリポジトリ」
- GitHubなどでサーバ上で管理する「リモートリポジトリ」
基本的に、作業はローカルリポジトリで行い、そこで作成・修正したファイルをリモートリポジトリにプッシュ(送信・更新)する、という流れで作業を行います。
※補足:「Git」と「GitHub」の違い
- 「Git」・・・バージョン管理システム
- 「GitHub」・・・Gitを使ったウェブサービス
GitHubのアカウント登録
まずは、GitHub にアクセスします。
ユーザ名・メールアドレス・パスワードを入力して、「Sign up for GitHub」をクリックします。
次に、プランを選択します。有料のプランもありますが、ここでは、無料で使えるFreeプランを選択します。
「Choose your personal plan」から「Unlimited public repositories for free.」を選択し、「continue」ボタンをクリック。
※補足:プランは後から変更することが可能です。
アンケート入力画面が表示されたら、回答を入力して「Submit」ボタンをクリック。
次のような画面が表示されれば、登録手続きは完了です。
登録したメールアドレスに確認メールが送られるので、メールボックスを確認しましょう。
GitHubから確認のメールが来ますので、「Verify email address」をクリックし、ユーザ認証を行ってください。
以上でGitHubのアカウント登録は完了です。
GitHubの使い方
基本的な作業は、下記のような流れになります。
なお、1のリポジトリの作成は初回のみ行い、2から5を繰り返します。
1:Githubでリポジトリを作成(git init)
2:ファイルの作成、編集を行う
3:ファイルの作成/変更/削除をgitのインデックスに追加する(git add)
4:変更結果をローカルリポジトリにコミットする(git commit)
5:ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる(git push)
1:Githubでリポジトリを作成(git init)
まずは、GitHubにログインし、リポジトリを作成します。
GitHubにログインした状態で、「New Repository」ボタンをクリック。
次に表示される画面では、「Repository name」にリポジトリ名を入力。
必要に応じて「Description」も入力後、「Create Repository」をクリック。
これで、リポジトリの作成は完了です。
登録が完了すると、次のようにURLが表示されます。
表示されているURLは、pushコマンドで送信するときに使用します。控えておいてください。
次に、ローカル環境でローカルリポジトリの作成を行います。
コマンドプロンプトを起動して、任意の場所にディレクトリを作成します。
ここでは「/Users/ユーザー名」以下にディレクトリを作成しています。
「github」という名前のディレクトリを作成。
mkdir github
「github」ディレクトリに移動。
cd github
「pushtest」という名前のディレクトリを作成。
mkdir pushtest
「pushtest」ディレクトリに移動。
cd pushtest
「git init」コマンドでローカルリポジトリを作成。
git init
次のように表示されれば、成功です。
Initialized empty Git repository in ~
2:ファイルの作成、編集を行う
ここでは、「pushtest.html」というファイルをローカルのPC上に作成した、という想定で進めます。
ディレクトリ「pushtest」にテキストエディタ等でHTMLファイルを作成。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>pushtest</title>
</head>
<body>
push test
</body>
</html>
3:ファイルの作成/変更/削除をgitのインデックスに追加する(git add)
ファイルを作成できたら、「git add」コマンドでファイルをインデックスに追加します。
インデックスとは、リポジトリにコミットする準備をする為に、変更内容を一時的に保存する場所のことです。 インデックスに追加することで、Gitで管理する対象のファイルになります。
git add pushtest.html
4:変更結果をローカルリポジトリにコミットする(git commit)
インデックスの追加を行った後は、リポジトリに登録をします。
登録には「git commit」コマンドを実行します。
コミットとは、ファイル・ディレクトリの追加・変更をリポジトリに記録する操作のことです。
git commit -m “pushコマンドの確認”
指定した引数は、このリポジトリの内容を表します。
成功すると以下のように表示されます。
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
これで、リポジトリの登録は完了です。
5:ローカルリポジトリをプッシュしてリモートリポジトリへ反映させる(git push)
リモートリポジトリに作成したファイルをpushコマンドで送信する前に、「git remote」コマンドを使用して、リモートリポジトリの情報を追加します。
この情報は、先程GitHub上に表示されたリモートリポジトリのアドレスです。
originの後に、リモートリポジトリのアドレスを指定します。
git remote add origin https://github.com/~
続いて、「git push」コマンドでリモートリポジトリに送信を行います。
pushコマンドは、ローカル環境であるローカルリポジトリで編集したファイルを、リモートリポジトリにアップロードし、反映させる為のものです。
以下のコマンドを実行。
git push origin master
GitHubのユーザ名とパスワードを尋ねられるので、それぞれ入力します。
成功した場合、次のように表示されます。
Counting objects: 3, done.
Writing objects: 100% (3/3), 245 bytes | 245.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/~
* [new branch] master -> master
これで、GitHubへプッシュし、リモートリポジトリへの反映が完了です。
GitHub上で登録されていることを確認します。
まとめ
GitHubは覚えることが多く、大変ではあるものの、慣れれば、それほど難しくはありません。
使いこなせる様になれば、開発の効率化ができ、便利です。
最初のうちは、commitしてpushする等、最低限だけ抑えておき、少しずつ慣れていくようにすると良いでしょう。