#はじめに
Githubに登録して使い始めるまでの流れの覚書です。
- アカウント登録
- 鍵登録
- リポジトリ・ブランチ作成
- コミット
- プッシュ
- プルリクエスト
- マージ
の説明です。
Githubの基本的な使い方です。
#そもそもGithubとは?
バージョン管理システムです。バージョン管理システムを利用することで、ファイル編集履歴を記録・管理したり、複数人の開発でお互いの干渉をなくしたりすることができます。
#アカウント登録
Githubの公式ホームページより登録します。
#公開鍵登録
アカウント登録が終了したら、公開鍵の登録が必要です。Githubでファイルを編集する際には、ターミナルからGithubへSSH接続する必要があります。そのために、公開鍵・秘密鍵を生成して公開鍵の方をGithubへ登録します。
###鍵の生成
ターミナルを起動し、鍵を生成する.ssh
ディレクトリへ移動します。
$ cd ~/.ssh
次のコマンドで鍵を生成します。
$ ssh-keygen -t -rsa
パスフレーズなどの設定を求められますが、何も入力せずエンターで大丈夫そうです。
パスフレーズについて少しググると、どうやら秘密鍵を守るためのもののようですね。設定した方が安心なのかもしれませんが、設定しなくても利用はできます。
ls
コマンドで.sshの中身を確認してみてください。
id_rsa
と、id_rsa.pub
があれば成功です。
前者が秘密鍵で、後者が公開鍵です。
###鍵の登録
Githubへ公開鍵を登録しますが、絶対に秘密鍵と公開鍵を誤ってはいけません。
では、Githubの公開鍵登録ページで登録を行います。
ページ上部の「New SSH Key」というボタンから登録を行います。
Titleは任意のもので構いません。
公開鍵は普通にコピペでも構いませんが、ターミナルで以下のコマンドを実行するとクリップボードへコピーできるので簡単です。
$ pbcopy < ~/.ssh.id_rsa.pub
「Add Key」ボタンから登録すれば完了です。
$ ssh -T git@github.com
で接続を確認します。
初めて接続する際、以下のようなメッセージが出ますが、yes
で大丈夫です。
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
無事接続されると、
Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
と表示されるはずです。
#リポジトリ作成
アカウント登録と鍵の生成・登録が完了したら、sampleでGithubの使い方を確認します。
まずはリモートにリポジトリを作成します。
Githubのアカウントページの右上の+ボタン >「New Repository」
より新規リポジトリ作成の画面に行きます。
repository nameにsample
を入力し、
- Initialize this repository with a README
にチェックを入れ、「Create Repository」をクリックします。
これで「sampleリポジトリ」の完成です。
###クローンとブランチ作成
- クローン
作成したsampleリポジトリをローカルにクローンするため、以下のコマンドを実行します。
$ git clone git@github.com:username/sample.git
sample
というディレクトリが生成されて入れば成功です。
- ブランチ
以下のコマンドでsample-branch
というブランチを作成します。
$ git branch sample-branch master
$ git checkout sample-branch
#コミット
変更をコミットするために、テストファイルを生成し、それをsample-branchにコミットしてみましょう。
-
$ touch test_file
:テストファイルの生成 -
$ git add test_file
:これからコミットするファイルの指定 -
$ git commit -m "テストファイルの追加"
:コミットする。オプションコマンドは、メッセージの追加。
#プッシュ
コミットが完了したら、ローカルのsample-branch
をリモートへプッシュします。
以下のコマンドを実行します。
$ git push origin sample-branch:sample_branch
このコマンドは、
$ git push [リモートリポジトリ名][ローカルのブランチ名]:[リモートのブランチ名]
という構成です。
ここではあえて、ブランチ名を変えて挙動の確認をしてみました。
ターミナル上に * [new branch] sample-branch -> sample_branch
といった表記が見られ、ブラウザでもブランチ名がアンダーバーになっていることが確認できます。
origin
は何もしなくても通常であれば設定されているリモートリポジトリ名です。
#プルリクエスト
ブラウザに戻ります。
先ほどのsample_branch
についての通知がきているので、「Compare & pull request」をクリックします。続くページの「pull request」をクリックすると、プルリクエストの完了です。
#マージ
「merge pull request」をクリックすればマージは完了です。
開発現場では、この段階でコードレビューなどを行い、問題がなければマージするといった流れになるようです。
#以上
以上で、いつでもGithubが使える状態になったかと思います。
Githubにはまだ様々な機能があるので、使いながら覚えていきたいと思います。