ソースをGitHubへ登録(push)してみます

WED(WeekEndDevelopers)のぽんたです。

開発スキルのないSIerからソフトウェアスキルを取得するため、WEDでモノづくりを計画しています。詳しい経緯はここ

前回はruby on railsチュートリアル第1章に従いハロワをやってみました。 今回は前回作ったアプリのソースをGitHubへ登録してみます。

ruby on railsチュートリアルではBitbucketでソースを管理することを説明していたのですが、チームでGitHubを使っていますので (その時のブログ)GitHubでソースを管理していこうと思っています。

GitHubへソースをpushする

◆まずはgitのインストールとバージョンの確認

[root@localhost ~]# sudo yum -y install git
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
  * base: ftp.nara.wide.ad.jp
[root@localhost ~]# git --version
git version 1.8.3.1

◆git configで名前とmail addressの登録(以下は例)

$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com

◆前回作ったアプリのところまで移動して以下のコマンドを実施してローカルリポジトリにコミット
※ローカルでの操作ということに注意すること

[root@localhost first_books_app]# git init
[root@localhost first_books_app]# git add -A
[root@localhost first_books_app]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#  (use "git rm --cached <file>..." to unstage)
#
#      new file:  .gitignore
#      new file:  .ruby-version
#      new file:  Gemfile
#      new file:  Gemfile.lock
#      new file:  README.md
#      new file:  Rakefile
[root@localhost first_books_app]# git commit -m "Initialize repository"

では早速pushしようと思ったけどまだまだ準備が必要でした。。。
リモートのリポジトリとやり取りするため、SSHの鍵が必要になってきます。

SSHキーの作成

[root@localhost first_books_app]# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Enter file in which to save the key (/root/.ssh/id_rsa):  #ファイル名がこのままでよければそのままEnterを押す。ダメならファイル名を指定してEnterを押下する
:
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #パスフレーズを聞かれる。そのままでもいいがセキュリティ面も考えて登録しましょう
Enter same passphrase again:
:
[root@localhost .ssh]# ls /root/.ssh/
id_rsa  id_rsa.pub  #pubがついている方が公開鍵だな

◆作成したキーのパーミッションの設定をする

[root@localhost .ssh]# chmod 600 id_rsa

◆configファイルの作成/編集

[root@localhost .ssh]# vim config
[root@localhost .ssh]# cat config
Host github
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa
[root@localhost .ssh]#

ここからbrowser上でGitHubの操作します!! 文字ばっかりの説明でスミマセン。。。

リポジトリの作成

1.GitHubにログインしトップページの"Start a project"を押下
2.「Repository name」欄に作成したいリポジトリ名を入力
3.Initialize this repository with a README」にチェックを入れて「Create repository」をクリック

GitHubに公開鍵を登録する

1.id_rsa.pubの中身をまるまるコピー。無駄な改行とか注意
2.GitHubのページの右上端にあるアイコンをクリックして、アカウントメニューの中にある「Settings」を開く
3.左側のメニューから「SSH and GPG keys」タブを選択
4.「New SSH key」をクリックする(公開鍵の登録画面が開きます)
5.「Title」には任意の値を入力、更に先ほど作成したキーの共通鍵の方(デフォルトならid_rsa.pub)をコピー、値をそのまま「Key」に入力し「Add SSH key」をクリック
※TitleはどのPC・サーバに置かれた鍵に対する公開鍵なのか分かるよう、PC名・サーバ名を入れておくと管理しやすくなります

GitHubへのSSH接続を確認する

[root@localhost .ssh]# ssh github
Enter passphrase for key '/root/.ssh/id_rsa':
PTY allocation request failed on channel 0
Hi xxxxxxxxxx! You've successfully authenticated, but GitHub does not
provide shell access.
Connection to github.com closed.
[root@localhost .ssh]#

よっしゃ繋がった!!うれしー!!!

◆作ったリポジトリのURLをコピーする

1.作ったリポジトリのページのCodeタブをクリック
2.右側にある"Clone or download"をクリック
3.Use Git or checkout with SVN using the web URL.って書いてるところのURLをコピーする

◆いよいよGitHubに登録

[root@localhost first_books_app]# git remote add origin <コピーしたURL> # git remote addコマンドでリモートリポジトリを関連付け
[root@localhost first_books_app]# git push -u origin master #GitHubのユーザー名/パスワード名を聞かれるので入力する
:
:
Branch master set up to track remote branch master from origin.

無事にできた!!めっちゃ嬉しい!!

ちなみに誤って、異なったリモートリポジトリを関連付けしてしまった場合は以下で関連付けを解除してやれます。

[root@localhost first_books_app]# git remote rm origin

次回こそherokuへデプロイしたことを書きます。。。では^^