今更だけど GitHub を使ってみる

基本的にソースコードBitbucket に置いているんだけど、どうも周りの感じから GitHub の方がメジャー。
Bitbucket はプライベートなリポジトリも無料で置けるので使っているのだけど、公開するリポジトリGitHub に置いても良いんじゃない?と思ったのが GitHub を使ってみた理由。


というわけで、GitHub のアカウント作成から既に Xcode で作ってあったプロジェクトのリポジトリを公開するまでの手順をメモ。

Git と GitHubのセットアップを行う

Mac から GitHub を使う為の設定をあれこれ済ませる。


Git をインストール
1.Mac に Git をインストール
ココから最新版をダウンロードしてインストールする。今回は v1.7.8.4 が最新だった。

インストールはインストーラが付いているので簡単!


SSH キーの登録
1.「ターミナル」アプリケーションを起動して SSH キーが既にあるかどうか確認

iMac-i3-27:~ paraches$ cd ~/.ssh
iMac-i3-27:.ssh paraches$ ls
id_rsa		id_rsa.pub	known_hosts

既に id_rsa と id_rsa.pub はある。これは Bitbucket の時に作ったもの。
GitHub のヘルプの手順だと、これを退避させて新しいのを作っているけど、面倒なので既にあるものを使うことにした。


2.SSH キーを GitHub に加える
GitHub の自分のページの右上にある「Account Settings」をクリックして、「SSH Public Keys」を選択。


「Add another public key」をクリックして現れたダイアログの「Key」に id_rsa.pub の中身をコピー&ペーストする。
この時、余計な改行等を加えないように注意する。
自分は id_rsa.pub を「ターミナル」で「cp id_rsa.pub ~」してホームディレクトリにコピーしてから「テキストエディット」アプリケーションで開いて内容をコピー&ペーストした。

コピー&ペーストしたら「Add Key」をクリック。


3.ちゃんとできてるか確認作業
下記のコマンドを入れる。メールアドレスの部分も変更せずにそのまま。

iMac-i3-27:.ssh paraches$ ssh -T git@github.com
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)? yes
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Identity added: /Users/paraches/.ssh/id_rsa (/Users/paraches/.ssh/id_rsa)
Hi paraches! You've successfully authenticated, but GitHub does not provide shell access.
iMac-i3-27:.ssh paraches$ git config --global user.name "paraches"

(yes/no) 聞かれたら yes と答える。
これで OK!

以上で SSH キーの登録はお終い。


Git に自分の情報を設定
1.ユーザネームとメールアドレスの設定

iMac-i3-27:.ssh paraches$ git config --global user.name "paraches"
iMac-i3-27:.ssh paraches$ git config --global user.email "paraches+github@gmail.com"


2.GitHub トークンの設定
これは特に使う予定はないから飛ばした。


GitHub のヘルプにある手順は以上。


最後に Xcode のプロジェクト用の .gitignore を設定する。
ココにあるファイルを、~/.gitignore として保存。

iMac-i3-27:~ paraches$ cat .gitignore 
# Xcode
build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside

iMac-i3-27:~ paraches$ 

これで Git と GitHub のセットアップは終了!


次は「Create Repository」へ。

Xcode のプロジェクトを GitHub にアップロード

新しいリポジトリGitHub で作成
1.GitHub 最初のページの右側にある「New repository」をクリック

2.「Project Name」に既に作ってある Xcode のプロジェクトの名前を入力して「Create Repository」をクリック
この例では「DocInteractionTest」というリポジトリを作成しています。

3.リポジトリが出来た!

でもまだリポジトリの中身は empty!


既にある Xcode のプロジェクトを Git で管理開始
1.ターミナルで既にある Xcode のプロジェクトのフォルダに行って「git init」する
この例では「DocInteractionTest」が既にあるプロジェクト名。

iMac-i3-27:~ paraches$ cd /Users/paraches/Desktop/GitHubTest/DocInteractionBase/DocInteractionTest 
iMac-i3-27:DocInteractionTest paraches$ ls
DocInteractionTest		DocInteractionTest.xcodeproj
iMac-i3-27:DocInteractionTest paraches$ git init
Reinitialized existing Git repository in /Users/paraches/Desktop/GitHubTest/DocInteractionBase/DocInteractionTest/.git/

ん? なんか変だけど…。もしかしたら Xcode で Source Control するようになってたのかな? ま、いっか…。


2.README 作るとそれがリポジトリの説明文になるみたいなので作っておく
けど、これじゃ中身がないから意味ないけど…。別に作らなくても OK。

iMac-i3-27:DocInteractionTest paraches$ touch README

次にリポジトリに DocInteractionTest フォルダの中身を加えてコミットする。

iMac-i3-27:DocInteractionTest paraches$ git add .
iMac-i3-27:DocInteractionTest paraches$ git commit -m 'first commit'
[master b5b032b] first commit
 10 files changed, 250 insertions(+), 12 deletions(-)
 create mode 100644 DocInteractionTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 DocInteractionTest.xcodeproj/project.xcworkspace/xcuserdata/paraches.xcuserdatad/UserInterfaceState.xcuserstate
 create mode 100644 DocInteractionTest.xcodeproj/xcuserdata/paraches.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
 create mode 100644 DocInteractionTest.xcodeproj/xcuserdata/paraches.xcuserdatad/xcschemes/DocInteractionTest.xcscheme
 create mode 100644 DocInteractionTest.xcodeproj/xcuserdata/paraches.xcuserdatad/xcschemes/xcschememanagement.plist
 create mode 100644 DocInteractionTest/myPic.JPG
 create mode 100644 README
iMac-i3-27:DocInteractionTest paraches$ git push origin master

次は DocInteractionTest のリポジトリGitHub に加える(push する)。
これ、GitHub のヘルプのコマンドと違うけど、こっちはさっき GitHubリポジトリを作った時に表示されたもの。たぶんヘルプは古くてこっちが新しいんだろうと思ってこっちのコマンドにしている。

iMac-i3-27:DocInteractionTest paraches$ git remote add origin git@github.com:paraches/DocInteractionTest.git
iMac-i3-27:DocInteractionTest paraches$ git push -u origin master
Counting objects: 38, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (33/33), done.
Writing objects: 100% (38/38), 331.84 KiB, done.
Total 38 (delta 7), reused 0 (delta 0)
To git@github.com:paraches/DocInteractionTest.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
iMac-i3-27:DocInteractionTest paraches$ 

なにやらちょっと時間がかかって終了。

GitHub を見てみるとちゃんとアップロードされてる!

でも、xcodeproj がフォルダになっちゃうのは気持ちが悪いな…。(これパッケージファイルとして表示させられないのかな?)


以上で一通りの手順は終了。