目次
gitについて再復習
gitについては、こちらでご紹介しました。分散型バージョン管理システムでしたね。
今回は、git と GitHubの関係に言及しますが、その前に、こちらのページを御覧ください。
@IT ガチで5分で分かる分散型バージョン管理システムGit (3/6)
上記の記事の中で、リモートリポジトリとローカルリポジトリの関係が非常にわかりやすいです。
GitHubを一言で言うと
先ほどの記事をお読みいただくと、GitHubというのがリポジトリのホスティングサービスであろうと想像した方が多いかと思います。それは、おそらく正しいのですが、最近のGitHubは、チームで開発をするためのたくさんの機能を提供し始めています。
一例を上げましょう。例えば、ソースコードを単体(git等は使わず)に登録してスクリプトをブログなどに貼り付ける機能(GitHub Gistという名称です)も提供しています。以下は、以前MacVimの設定でご紹介した .bashrcに追加するコードです。いかがでしょうか?きれいに、早く、貼り付けられますよね。
GitHub Gistは、下記のような画面になります。GitHubにログイン後、右上のGistというリンクから、登録の画面に移ります。とても簡単です。
どうですか?簡単ですよね。このようにGitHubには、とても便利な機能が追加されています。具体的には、以下のような機能です。
- Issue(日本語ではチケット)・マイルストーンの管理機能
- ネットワークグラフ機能
- Wiki,Webホスティング機能
等の機能が備えられています。
Gitの準備
Gitの設定ファイルは、~/.gitconfig に存在しています。この設定ファイルに情報を登録するには、
$ git config –global user.name “your name”
$ git config –global user.email XXXX@XXXXX.XXX
とターミナルで打ちます。ここで、.gitconfigを確認しましょう。
$ cat ~/.gitconfig
[user]
name = your name
email = XXXX@XXXXX.XXX
[color]
ui = auto
正しく名前、メールアドレスが記録されていれば成功です。同様に、gitのコマンドで、表示させることができます。
$ git config –list
user.name=your name
user.email=XXXX@XXXXX.XXX
color.ui=auto
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=false
SSL通信するための鍵ファイル作成
SSHを使って鍵ファイルを作りましょう。これは、SSL通信を使って、通信を暗号化するためのものです。注意としては、SSL通信が必要ない場合には、ここの手順は、割愛してかまわないことです。ここでは、鍵のファイル名をgithub_rsaにしました。
$ cd ~/.ssh/
$ ssh-keygen -t rsa -C "メールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): github_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github_rsa.
Your public key has been saved in github_rsa.pub.
(省略)
$ ls -a ~/.ssh/
として、先ほど指定したファイル名のファイルができていたら成功です。パスワードは、忘れないようにしてください。
次に公開鍵をGitHubに登録します。まずは、ローカルでクリップボードに公開鍵をコピーします。
$ pbcopy < github_rsa.pub
下記の図にあるように、GitHub のサイトにログインし、User settings-SSH KeyにSSHの公開鍵を貼り付けます。
ターミナルのsshコマンドで接続します。
$ ssh -l git -i ~/.ssh/github_rsa github.com
PTY allocation request failed on channel 0
Hi pakiln! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
これで、接続の確認がとれました。あなたのマシンと、GitHubがつながったのです。
公開するディレクトリを共有する
公開するルートディレクトリで
$ git init
をしてください。以前このブログでも行いましたので、こちらを参考にしてください。
次に、remoteの設定を行います。GitHubで、新しいプロジェクトを作成しておいてください。ターミナルに戻り、
$ git remote add origin git@github.com:(GitHubのユーザ名)/(GitHubのプロジェクト名).git
とします。それでは、いよいよGitからGitHubにpushします!
$ git push origin master
ここで、エラーが出る場合には、
$ git fetch $ git merge origin/master
として、マージをするようにします。
いかがでしょうか?これが、基本的なGit と GitHub の使い方になります。