みなさんこんにちはこんばんは。イッシーですʕ→ᴥ←ʔ。前回はSubversionでのバージョン管理でしたが世はすっかりGitムードです。プラスアールでも使い方を学びつつ四苦八苦しながらGitに移行してます。そこで今回はGitでの環境構築の部分をまとめてみました。

  • 解説は、プロジェクト名:sample.plusr.biz、ユーザ名:ishimotoとしてます
  • ルート権限で作業します

■サーバ側

【step1】グループを作る

プロジェクト名と同じ名前のグループを作りましょう。重複を防ぐためにもドメイン名が良いかと思います。

[cc lang="bash"]
/usr/sbin/groupadd sample.plusr.biz
[/cc]

【step2】グループにユーザを追加

グループにプロジェクトユーザを加えます。
[cc lang="bash"]
gpasswd -a ishimoto sample.plusr.biz
[/cc]

以下のコマンドでも同様の操作が可能ですが、今まで追加したグループを列挙しなければなりません。

[cc lang="bash"]
/usr/sbin/usermod -G sample.plusr.biz,hoge.plusr.biz,fuga.plusr.biz ishimoto
[/cc]

【step3】新規リポジトリの作成

以下のコマンドで新規リポジトリをサーバー上に作成します。

[cc lang="bash"]
mkdir sample.plusr.biz
cd sample.plusr.biz
[/cc]

【step4】リポジトリの作成

以下のコマンドで新規リポジトリをサーバー上に作成します。

[cc lang="bash"]
git –bare init
[/cc]

※bareとは作業ファイルがないからのリポジトリです。

[cc lang="bash"]
vi description
[/cc]

以下のように任意のプロジェクト名を記述します。

[cc lang="bash"]
sample.plusr.biz.repository
[/cc]

※リポジトリ名を記述しなかった場合、push時に以下のエラーが発生します。

[cc lang="bash"]
*** Project description file hasn’t been set
error: hooks/update exited with error code 1
error: hook declined to update refs/heads/master
[/cc]

【step5】権限設定

グループのユーザに書き込み権限を与えます。

[cc lang="bash"]
chmod -R 0775 /usr/local/development/repos/sample.plusr.biz
chmod -R g+s /usr/local/development/repos/sample.plusr.biz #(1)
chgrp -R sample.plusr.biz /usr/local/development/repos/sample.plusr.biz
[/cc]

※上述の(1)がない場合、pushをしたときに以下のエラーが発生する。

[cc lang="bash"]
error: failed to push some refs to ‘ssh://ishimoto@123.123.123.123:1234/usr/local/development/repos/sample.plusr.biz’
[/cc]

■クライアント側

まず、環境に合わせて以下をインストールします。

Mac
Git for Mac OS X
Win
msysgit

【step1】準備

プロジェクト用のディレクトリを作り、配下で以下ののコマンドを実行します。

[cc lang="bash"]
mkdir sample.plusr.biz
cd sample.plusr.biz
git init
[/cc]

【step2】初期状態を準備

フレームワークなどのファイルを配置した後に以下のコマンドを実行します。

[cc lang="bash"]
git add .
git commit -m “import :)”
git remote add origin ssh://ishimoto@123.123.123.123:1234/usr/local/development/repos/sample.plusr.biz
git push origin master
[/cc]

※ちなみに間違えてリモートをセットしたときは以下のコマンドで再設定できます。

[cc lang="bash"]
git remote set-url origin ssh://ishimoto@123.123.123.123:1234/usr/local/development/repos/sample.plusr.biz
[/cc]

リモートを確認するには以下のコマンドを使用します。

[cc lang="bash"]
git remote -v
[/cc]

※さらにちなみにですが僕はコメントに顔文字を入れたりします。(。・ω・)ノ゙

【参考】

いかがでしょうか?率直なところ、まだ僕はSubversionからGitに乗り換えた恩恵を授かっていません。しかし、開発人数が増加すれば分散リポジトリの恩恵を授かれるはずです。次回は、実際のGit環境での開発について書いてみたいと思います。。。あ、WinのGit環境がわからないな・・・(●´⌓`●)

Post Navigation