1、安装 git依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y
2、下载git源码(https://www.kernel.org/pub/software/scm/git/)
cd /usr/local/src
wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
tar zvxf git-2.0.4.tar.gz
cd git-2.0.4
make prefix=/usr/local/git all
make prefix=/usr/local/git install
———————————————————
如果编译时提示错误:
LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv’:
/opt/git-master/utf8.c:530: undefined reference to `libiconv’
libgit.a(utf8.o): In function `reencode_string_len’:
/opt/git-master/utf8.c:569: undefined reference to `libiconv_open’
/opt/git-master/utf8.c:588: undefined reference to `libiconv_close’
/opt/git-master/utf8.c:582: undefined reference to `libiconv_open’
collect2: ld 返回 1
make: *** [git-credential-store] 错误 1
解决办法:
cd /usr/local/src/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure -prefix=/usr/local/libiconv && make && sudo make install
然后回到git继续编译:
cd /usr/local/src/git-2.0.4
make configure
./configure -prefix=/usr/local -with-iconv=/usr/local/libiconv
make
make install
此时,git应该编译安装成功了,可以测试下:
cd /usr/local/bin
./git --version
git version 2.0.4
在终端直接输入 git --version
如能正确显示版本,git version 2.0.4,则大功告成。
3、安装 gitosis
yum install python python-setuptools
cd /usr/local/src
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
———————————————————
如果安装时报错如下:
Traceback (most recent call last):
File “setup.py“, line 2, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools
解决方法:
cd /usr/local/src
wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
然后再运行
python setup.py install
如果显示Finished processing dependencies for gitosis==0.2 表示安装成功
4、在开发机上生成密钥并上传到服务器上
ssh-keygen -t rsa #一路回车,不需要设置密码
scp ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp
5、服务器上生成git用户,使用git用户并初始化gitosis
#useradd -r -s /bin/sh -c 'git version control' -d /home/git git
#mkdir -p /home/git
#chown git:git /home/git
su – git
gitosis-init < /tmp/id_rsa.pub
#显示以下信息即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
#删除密钥
su – root
rm -rf /tmp/id_rsa.pub
6、在开发机上导出管理
mkdir -p /repo
cd /repo
git clone git@xxx:gitosis-admin.git
7、增加及设置管理项目
cd /repo/gitosis-admin
vim gitosis.conf
#在文件尾增加以下内容
[group test] # 组名称
writable = test # 项目名称
members = jankerli #密钥用户名
#提交修改
git add .
git commit -a -m “add test repo”
git push
8、初始,增加及使用项目test-git
cd /repo
mkdir test-git
cd test-git
git inti
touch readme
git add .
git commit -a -m “init test-git”
git remote add origin git@xxx:test.git
git push origin master
9、在 test 项目新增用户
①在新增用户的本机输入ssh-keygen -t rsa生成私钥公钥;
②把生成的公钥id_rsa.pub上传或复制到 gitosis-admin/keydir文件夹下,并重名,如:jankerli.pub;
③vim gitosis.conf
#在文件尾增加以下内容
[group test]
writable = test
members = jankerli (此处增加新用户的名称,名称必须与上面重名的jankerli.pub一致,去掉.pub)
④#提交修改
git add .
git commit -a -m “add test repo”
git push
⑤新用户便可通过 git clone git@xxx:test.git 克隆代码到本机了。
GIT 2.0.4服务器搭建以及如何使用
最新推荐文章于 2021-08-11 17:09:42 发布