redmine+git環境構築
技術文書
2013/08/26
gitインストール¶
- ローカル環境
gitインストール
[admin]$ yum install git-coregit設定
[admin]$ git config --global user.name "Yoshiharu Yamamoto"
[admin]$ git config --global user.email haltyt@gmail.com
[admin]$ git config --global core.quotepath falsegit設定確認
[admin]$ git config --list
gitoliteインストール¶
gituserユーザを作成
[vps]$ useradd --shell /bin/bash --home /home/gituser gituser
ユーザー登録¶
SSH公開鍵作成
[user]$ cd ~
[user]$ ssh-keygen
[user]$ mv user user.pub .ssh/gitサーバ設定
[user]$ vi .ssh/config
HOST gitserver.vps
HOSTNAME 219.94.235.108
USER gituser
PORT 22
IDENTITYFILE ~/.ssh/user[user]$ chmod 600 ~/.ssh/config
公開鍵を管理者端末へ
[user]$ scp .ssh/user.pub admin@219.94.235.108:/home/admin/
[admin]$ cd /User/haltyt/Sites/gitolite/gitolite-admin/keydir/
[admin]$ scp admin@219.94.235.108:/home/admin/user.pub .リポジトリへ反映
[admin]$ git add user.pub
[admin]$ git commit -m "新規ユーザー登録"
[admin]$ git push
リモートリポジトリを取得できるか確認
[user]$ git clone ssh://gitserver.vps/testing
gitoliteで作成したリポジトリをredmineから参照可能にする¶
[vps]$ cd
/var/lib/gitミラーリポジトリ作成
[vps]$ git clone --mirror /home/gituser/repositories/i-generation.git
Initialized empty Git repository in /var/lib/git/i-generation.git/ブラウザから閲覧できるようにパーミッション変更
[vps]$ chown -R apache:apache i-generation.gitフックスクリプト作成
[vps]$ su - gituser
[vps]$ vi repositories/i-generation.git/hooks/post-receive
#!/bin/sh
/usr/bin/git push --mirror /var/lib/git/i-generation.gitパーミッション変更
[vps]$ chmod 700 repositories/i-generation.git/hooks/post-receive
リポジトリ作成¶
gitolite管理用リモートリポジトリ取得
$ git clone gitolite.vps:gitolite-adminリポジトリ追加
$ vi gitolite-admin/conf/gitolite.conf
repo i-generation
RW+ = @allリポジトリ反映
$ git add
$ git commit -m 'create repository i-generation'
$ git push origin master
リポジトリ初期化¶
プロジェクトへ移動
$cd /Users/haltyt/Sites/i-generation/src/git/aff_test_new初期化
$git init対象リストへ登録
$git add .リポジトリへコミット
$git commit -m 'initial project'
ローカルリポジトリをリモートリポジトリへコピー¶
リポジトリ短縮URL設定
$git remote add origin gitolite.vps:i-generation.gitURLを変更する場合は
$git remote set-url origin gitolite.vps:i-generation.git現在の設定を確認
$git remote -vリモートリポジトリへ反映
$git push origin master