アットウィキロゴ

Gitインストール

WindowsGitClientダウンロード
http://code.google.com/p/msysgit/downloads/list
Git-1.7.11-preview20120710.exe

WindowsGitClientをインストールします。
[実行][はい][Next][Next][Next][Next][Next]
(Use Git Bash only)[Next]
(Checkout Windows-style, commit Unix-style line endings)[Next]
[Finish]

WindowsGitClientを実行します。
「Git Bash」アイコンのプロパティを開き作業フォルダーをD:\に変更
「Git Bash」アイコンをダブルクリック

ClientのGit設定を実施します。
$ git config --global user.name "xxxx xxxx"
$ git config --global user.email "[email protected]"
(ホームディレクトリ(C:/Users/xxx)に.gitconfigが作成される) 

Clientで公開鍵/秘密鍵を作成します。
$ ssh-keygen -t rsa -C "[email protected]"
Enter file in which to save the key (//.ssh/id_rsa): /c/Users/xxxx/.ssh/test-user
Enter passphrase (empty for no passphrase): (何も入力せず[Enter]キーを押す)
Enter same passphrase again:(何も入力せず[Enter]キーを押す)
(ホームディレクトリ(C:/Users/xxx/.ssh/)に公開鍵/秘密鍵ファイルが作成される)
test-user     ... 秘密鍵
test-user.pub ... 公開鍵

サーバ接続情報を作成します。
C:\Users\xxxxxx\.ssh\config を新規作成
---- 中身 ----
host server01
 user gitolite
 hostname server01(またはIP)
 port 22
 identifyfile C:\Users\xxxxxx\.ssh\test-user

CentOSにてどのリポジトリに最新のgitパッケージが含まれているか確認します。
# yum --enablerepo=rpmforge,rpmforge-extras,epel,remi,elrepo,elrepo-extras info git
(Version     : 1.7.11.1)
(Repo        : rpmforge-extras)

CentOSにGitをインストールします。
# yum --enablerepo=rpmforge-extras -y install git
# yum --enablerepo=epel -y install gitolite

gitoliteユーザーでログイン
# su - gitolite
$ pwd
/var/lib/gitolite

.bashrcを編集(不要?)
$ vi .bashrc
---- 中身 ----
export PATH="$HOME/bin:$HOME/gitolite/bin:/usr/local/bin:/usr/bin:/bin"

perlが起動できることを確認(起動できない場合再インストールする)
$ perl --version

WindowsClientの公開鍵をgitoliteへ登録します。
(gitoliteは公開鍵ファイル名をユーザー名とみなす)
$ su -
# mv id_dsa.pub /tmp/test-user.pub
# chmod a+r /tmp/test-user.pub
# chown gitolite:gitolite test-user.pub
# su -l gitolite
$ gl-setup /tmp/test-user.pub
create mode 100644 conf/gitolite.conf
create mode 100644 keydir/test-user.pub
$ exit
# rm -rf /tmp/test-user.pub

gitoliteユーザーのsshログイン許可
# vi /etc/ssh/sshd_config
AllowUsers xxx yyy gitolite

サーバ上の管理リポジトリをWindowsClientへクローン
$ cd /git/repos
$ git clone ssh://server01/gitolite-admin

clientでユーザーを追加登録
$ cd gitolite-admin/keydir
$ copy {公開鍵を作成したパス}/{追加ユーザー}.pub . 
$ git add {追加ユーザー}
$ git commit -m "追加ユーザーの公開鍵を追加"
$ git push

サーバ上のテストリポジトリをWindowsClientへクローン
$ cd /git/repos
$ git clone ssh://server01/testing

clientでファイルcommit
$ cd /git/repos/testing
$ touch sample.txt
$ git add -A
$ git commit

clientリポジトリからサーバリポジトリへ変更を通知
$ git push origin master

clientでステータス確認
$ git status

clientでアクセスできるリポジトリ一覧を表示
$ ssh server01
the gitolite config gives you the following access:
     R   W      gitolite-admin
    @R_ @W_     testing

(clientから)新規リポジトリ(repo01)の追加
$ cd /git/repos/gitolite-admin/conf
$ vi gitolite.conf
---- 編集前 ----
repo gitolite-admin
     RW+ = test-user
repo testing
     RW+ = @all
---- 編集後 ----
@developer = dev1 dev2
@tester = tester1 tester2
@admin = test-user
repo gitolite-admin
     RW+ = @admin
repo testing
     R   = @all
     RW+ = @admin
repo repo01
     R   = @tester
     RW  = @developer
     RW+ = @admin
---- ここまで ----
$ git add -A
$ git commit
$ git push origin master
(サーバへの変更通知時にサーバ側でrepo01が初期化される)
remote: creating repo01...
remote: Initialized empty Git repository in ...

新規作成されたリポジトリをclientへクローン
$ cd git/repos
$ git clone ssh://server01/repo01
最終更新:2012年08月09日 13:20
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。