英語なんてわかんねーよ!!ってな人へ贈るGithub入門 for MacOS
Gitという分散リポジトリシステムを使い始めました。
これ自体は、MacだとMacPorts使えば楽に入ってくるのですが、
まぁローカルで管理していてもあんまりうまみがない。
せっかくならば、外にソースを公開して、みんなでいじくりまくれる
リポジトリを構築したほうが良い。
そこで便利なのが、githubというサービスです。
簡単に言えば、gitのリポジトリを作成&管理する為のサービスです。
自分でサーバーたてて管理するコストが減る為かなり楽です。
Free版だと、100MBまでという制限がありますが、まぁ普通に使う分には、
問題ない容量でしょう。登録してある言語は、Rubyが多く、LLな人達からの
人気の高さが伺えます。
まずは、アカウントを作っておきます。
これは、github.comに行き、好きなアカウントを作成してください。
特にアバターの設定は、ちとはまるので、私のこのエントリーを参考に。
アカウント作った!!
アバター設定した!!
じゃあ次は、なによ?ってなるわけで、
リポジトリ作りましょう。
Create RepositoryをClickします。
次に作りたいリポジトリ名、説明、自分のところのURL(サポートURLとかね)
を書いてあげます。
今回は、testというリポジトリにしました。
そうするとこんな感じで、リポジトリの作成の為の
チュートリアル画面が出てきます。
Global setup: Download and install Git git config --global user.email [email protected] Next steps: mkdir test cd test git init touch README git add README git commit -m 'first commit' git remote add origin [email protected]:Seasons7/test.git git push origin master Existing Git Repo? cd existing_git_repo git remote add origin [email protected]:Seasons7/test.git git push origin master Importing a SVN Repo? Click here When you're done: Continue
とりあえず、gitは入れておいてください。
これは、MacPorts gitでググればだいたい情報が見つかるので割愛します。
ここからの作業は、以下の順に行い、
Global setup:→Next steps:
ターミナルを使っての作業になります。
んでMacで指定したフォルダをターミナルでさくっと開けると
便利ですから、OpenTerminalHere.appを入れておきましょう。
Downoloadしたら、Applicationフォルダに入れて、以下の画面のように
sidebarにD&Dして登録しておきます。
こうしておくと、Finderで任意のフォルダを開き、
OpenTerminalHereをクリックするとその場所にChangeDirectoryした
状態でターミナルが立ち上がります。
んで、Next stepsの作業をしようと思うわけですが、
ここにいきなりいってしまうと実はトラップがあって、
pushがうまくいきません。
なんでかというと、pushする際にssh認証が入るので、
鍵をgithubに登録しておく必要があります。
accountのリンクをクリックして、表示されたページに、
SSH Public keyという項目があります。
ここに、自分のマシン上で作ったssh keyを登録します。
その前にキーの作り方:
ホームディレクトリにいるとする。/Users/keisukehata/←ここ
keisukehata%cd .ssh/ keisukehata%ssh-keygen
キーを生成して、
Generating public/private rsa key pair. Enter file in which to save the key (/Users/keisukehata/.ssh/id_rsa):
とか聞かれるので、そのままEnter.
設定したいパスワードを入力。
id_rsa.pubってのが作られるので、次に
keisukehata%cat id_rsa.pub | pbcopy
を実行してクリップボードに内容をコピーします。
その後,*pubファイルがセキュリティ的にザルなんでパーミッションを変更し、
キーを追加しておきます。
keisukehata%chmod 600 .pub keisukehata%ssh-add
これで準備OK
ここからは、任意のディレクトリを作って、
Next Stepsの作業を行います。
ちゃんと打ち込めば問題ないはずです。
最初リポジトリを作った状態では、何もファイルが追加されていないので、
gitからリポジトリの内容を取得できません。
つまり最初何かファイルを登録する必要があります。
Next Stepまで行うとgithubのページに自分のコミットが
表示されているはずです。Next Stepsの最後にpushを行っているので、
ローカルの変更情報がサーバーに反映された事になります。
分散リポジトリでは、各自のローカルで作業変更履歴がとれる上に、
それをタイミングのいいところで、サーバーに反映する事が出来ます。
それをcommitとは呼ばす、pushと言います。
逆にサーバー側で反映された情報を引っ張ってくるには、pullというコマンドを実行します。
これらコマンドは、ターミナルで実行するわけですが、
せめて多く行う、commitや差分表示、ログは、GUIなインターフェイスで
グラフィカルに管理をしつつ行いたいものです。
そこで便利なのが、GitX
GitURL: http://github.com/pieter/gitx/tree/master
ダウロード後、メニュー
GitX->Enable Terminal Usage...
を実行し、gitxをインストールする必要がありますが、
私のMacではインストール先の/usr/local/binのbinというフォルダが
ありませんでした。これは、root権限がないと作成できないんで、
ここを参考にルート権限を設定します。
無事設定できたら、ターミナルで
root#sudo mkdir /usr/local/bin
としておきます。これでもっかい
GitX->Enable Terminal Usage...
を行うとインストールできるはずです。
では、先ほど作ったリポジトリを開いてみます。
File->Openを選び、testリポジトリのディレクトリを指定します。
するとGitXにリポジトリの内容が出てくるはずです。
ファイルをディレクトリに追加するとこの画面のように
追加されたファイルが表示されますから(Cmd+Rでリフレッシュ)
ファイルをダブルクリックして、右の画面にCommit登録。
真ん中の画面にコミット内容を書いてCommitしましょう。
もし、コミットに不足ファイルや誤りがあっても大丈夫。
不足ファイルや誤りを正して、Amendのチェックをチェックした
上でCommitすれば、現在のCommit情報に上書きしてくれます。
Commitやブランチの様子も見れる上に、
ブランチの切り替えもブランチ名で右クリックで
切り替えもできちゃう。
オープンソースですから自分でビルドもできます。
こんなナイスなソフトがフリーってすばらしいですね。