In: Git| Mac| technology
1 6月 2011SVNなんて小学生までだよねー、と言われて久しいらしいので、ここらでGitを使ってみることにしました。ここまで分散型バージョン管理なんてものも使わずに来たので、その勉強も兼ねてやってみようかと思います。
概要やメリット・デメリットは、どのサイトを見ても、ある程度同じことが書いてあるみたいに見えたので、ひとついい感じにまとまっているページをご紹介。
個人的に分散リポジトリに一番メリットを感じるのは、自分のリポジトリを持てるようになることではないかと思っています。たとえば、単一リポジトリをチームで共有する場合、テストが終わるまでコミットしてはいけないというルールがあったりします。そのために長期間ローカルでバージョン管理もできず持ちっぱなしとか、挙句に仕様変更が入って修正のたびにハラハラドキドキするとか、そんなこともあるかもしれません。そういった問題点を解消できるのではないかと、ついつい期待してしまいます。
前回、Homebrewをインストールした際に、Gitも入れているので、やや重複してしまいますが。Homebrewが入っている前提であれば、
$ brew install git
のみでOK。せっかくなので、バージョンも確認してみます。
$ git version
git version 1.7.3.4
こんな感じ。ここから、実際に入れてからのことをまとめていきたいと思います。
ローカルで始める場合、まずはGitを使いたいディレクトリ上で、以下のコマンドを打ちます。こんな感じ。
$ cd
$ mkdir Study
$ cd ~/Study
$ git init
これを打つと、Studyディレクトリ内に「.git」というファイルができています。これで作業ディレクトリの初期化ができました。
続いて、適当にファイルを作ってみます。
$ touch README
これをローカルでコミットしてみます。ファイルをコミット対象として登録(今回はめんどがって全部指定w)し、実際にメッセージを入れてコミットする、という流れ。
$ git add *
$ git commit -m 'first commit'
これでローカルでのコミットができました。これだけなら、そこまで難しくなさそうですね。
ローカルではどうにかなりそうなので、今度はリモートでGitを使ってみたいと思います。
こちらはちょっと長くなるので、細かく切っていきます。
まずは、Gitのリポジトリを持つにあたり、GitHubのアカウントを作ります。
非公開のリポジトリを作りたいときは、有料にせざるを得ないようですね。今回は個人だし勉強がてらなので、Freeでアカウントで作ってしまいます(むしろ大体の人はFreeではないかと)。
続いて、GitHub上で新しいリポジトリを作ります。ダッシュボードの左下にある、「Create a Repository」のリンクをクリックすることで、新しいリポジトリが作れます。ローカルで作ったディレクトリに合わせて、「Project Name」を「Study」として登録します。
GitHubでアカウントを作った後は、ローカル側の設定として、Gitのグローバル設定を行います。ユーザ名・メールアドレスと、Gitでdiffをとったときにデバイスに応じてカラー表示をしてくれる設定を入れておきます。後半は趣味ですが、前半はコミットログなんかで使われるみたいです。入力した内容は、~/.gitconfigというファイルに反映されています。
$ git config --global user.name '<username>'
$ git config --global user.email '<email>'
$ git config --global color.ui auto
Gitにpushする際、SSH公開鍵の設定が必要とのこと。なので、ホームディレクトリに戻ってRSAキーの作成をします。
$ cd
$ ssh-keygen
コマンドを打つと、~/.sshディレクトリの中に、id_rsa、id_rsa.pubというファイルが出来上がります。作成中、パスフレーズを求められたりしますが、何も入力しなくてもよいようです(僕は入れてしまいましたが^^;)。
ここまでできたら、GitHubのサイトに戻り、アカウントの設定から「SSH公開鍵」の設定を行います。さっき作ったばかりのid_rsa.pubの中のテキストをコピペして、公開鍵の設定をします。これで、GitHubでSSHでの接続ができるようになります。
もろもろ準備が整ったので、いよいよサーバにPushします。Gitの勉強用にローカルで作った、Studyディレクトリに移動して、以下のようなコマンドを打ちます。
$ git remote add origin git@github.com:<username>/Study.git
$ git push -u origin master
これで、自分のGitHubのページを見てみると、https://github.com/<username>/Study なんて場所にREADMEのファイルが入っている、という状態になるのではないかと思います。
今回は、ひとまずここまで。
Via:
ゆるーく、ふわーっと、興味のままに。
自分のかたわらに置いておくメモ代わり。