分享

git安装

 lysysjw 2011-12-07

git安装

上一篇 / 下一篇  2011-01-15 16:42:06 / 个人分类:git

 

#GIT安装配置

1.下载并安装git

wget http:///pub/software/scm/git/git-1.7.3.2.tar.bz2

tar zxvf git-1.7.3.2.tar.bz2

cd git-1.7.3.2

./configure

make && make install

 

2.下载并安装python

(服务器已经安装python2.4,该步骤省略)

 

3.下载并安装setuptools

# yum install python-setuptools #如果有yum,可直接执行

如果没有,到http://pypi./pypi/setuptools下载对应python版本的setuptools并安装

 

4.下载安装gitosis

git clone git://eagain.net/gitosis.git

cd gitosis

python setup.py install

 

 

5.添加git用户

groupadd git

useradd -b /home/ -m -g git -s /bin/bash -c 'git version control' git

 

 

cd /home/git/repositories

[root@localhost repositories]# mkdir msnt.git

[root@localhost repositories]# cd msnt.git/

[root@localhost msnt.git]# ll

total 0

[root@localhost msnt.git]# git init --bare

Initialized empty Git repository in /home/git/repositories/msnt.git/

[root@localhost msnt.git]# ll

total 32

drwxr-xr-x 2 root root 4096 Dec 20 10:07 branches

-rw-r--r-- 1 root root  66 Dec 20 10:07 config

-rw-r--r-- 1 root root  73 Dec 20 10:07 description

-rw-r--r-- 1 root root  23 Dec 20 10:07 HEAD

drwxr-xr-x 2 root root 4096 Dec 20 10:07 hooks

drwxr-xr-x 2 root root 4096 Dec 20 10:07 info

drwxr-xr-x 4 root root 4096 Dec 20 10:07 objects

drwxr-xr-x 4 root root 4096 Dec 20 10:07 refs

 

cd msnt/

git clonehttp://hi./mailto:git@localhost:repositories:/msnt.git

echo "<?php phpinfo();" > index.php

git add .

git commit -m 'init project'

[root@localhost msnt]# git push origin master

git@localhost's password:

Counting objects: 3, done.

Writing objects: 100% (3/3), 221 bytes, done.

Total 3 (delta 0), reused 0 (delta 0)

To git@localhost:repositories/msnt.git

 * [new branch]     master -> master

[root@localhost msnt]# ll

total 4

-rw-r--r-- 1 root root 17 Dec 20 10:08 index.php

[root@localhost msnt]# cd ..

[root@localhost temp]# rm -rf *

[root@localhost temp]# ll

total 0

[root@localhost temp]# git clone git@localhost:repositories/msnt.git

Cloning into msnt...

git@localhost's password:

remote: Counting objects: 3, done.

remote: Total 3 (delta 0), reused 0 (delta 0)

Receiving objects: 100% (3/3), done.

[root@localhost temp]# ll

total 4

drwxr-xr-x 3 root root 4096 Dec 20 10:10 msnt

[root@localhost temp]# cd msnt/

[root@localhost msnt]# ll

total 4

-rw-r--r-- 1 root root 17 Dec 20 10:10 index.php

 

 

6.生成密钥,初始化gitosis

su git

cd

ssh-keygen -t rsa #按提示生成

gitosis-init < .ssh/id_rsa.pub #< /tmp/id_rsa.pub

chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

 

7.通过git来完成gitosis设置

#打开一个终端,使用其它用户登录

mkdir ~/workspace

cd workspace

git clone git@localhost:repositories/gitosis-admin.git

cd gitosis-admin

#进入git控制目录,可以看到:

#gitosis.conf  #文件用来添加项目,配置项目成员,

#keydir    #目录用来存放项目成员key

 

 

8.在客户端添加新项目

vi gitosis.conf

#create a new repo, we just authorize writing to it and push. To do so, add this to gitosis.conf:

可以看到结构如下

 

[gitosis]    

 

[group gitosis-admin]

writable = gitosis-admin

members = git@localhost

 

#添加项目msnt

[group msnt]

writable = msnt

members = leon

 

 

#vi中按esc :wq回车,完成保存退出,pushgit服务器

git push

cd ~/workspace

mkdir msnt

 

 

 

 

 

 

9.测试git服务器

cd ..

rm -rf msnt

git clone git@localhost:/repositories/msnt.git

 

 

10.添加git用户

ssh-keygen -t rsa

#操作完成添加到gitosis-admin.git/keydirs目录

git commit -a -m "添加项目成员xxx"

git push

 

 

10.开放公网访问

网上下载git-daemon对应git版本RPM安装包,也可直接安装

详细设置查看git help daemon或:http://www./pub/software/scm/git/docs/git-daemon.html

yum install git-daemon apt-get install git-daemon-run

vi /etc/xinetd.d/git #该文件在不同系统下不一样vi /etc/xinetd.d/git-daemon/

 

service git

{

       disable        = no

       type           = UNLISTED

       port           = 9184

       socket_type    = stream

       wait           = no

       user           = git

       server         = /usr/libexec/git-core/git-daemon

       server_args    = --base-path=/home/git/repositories --export-all --user-path=/home/git/repositories --syslog --inetd --verbose

       log_on_failure += USERID

}

 

git daemon --verbose --base-path=/home/git/repositories/ --export-all

git clone git://YOUR_SERVER_HOSTNAME/msnt.git

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多