这两天在折腾搭建组内的git服务器环境,刚开始本来想尝试使用gitlab的,但是安装起来对于我这样的linux来说有点困难,折腾了半天gitlab没弄好就果断放弃了。
然后网上找了些文章来照着弄,可能是由于服务器的版本、软件的版本不同等原因,总之我就没找到一篇文章能按照它上面说的完全顺利的安装成功,再加上自己没怎么接触过git,所以期间费了不少力气。
我是已一篇文章为主,按照它的说法安装下来,出现问题了就问谷歌大叔,找到解决方法再回到安装流程继续下去,最后终于成功了。
由于自己对git的不了解,在创建其他用户公用一个项目的时候绕了很大个圈子,差不多搞了一晚上才明白,??~~
Anyway,皇天不负有心人呐,最后还是基本上弄好了。明天和小伙伴们一起测测试试看~ Good night~~
安装手记如下:
1、安装 git
代码如下 | 复制代码 |
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel |
2、下载git源码(http://code.google.com/p/git-core)
代码如下 | 复制代码 |
cd /usr/local/src wget https://git-core.googlecode.com/files/git-1.8.5.tar.gz tar -zvxf git-1.8.5 cd git-1.8.5 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-1.8.5 make configure ./configure –-prefix=/usr/local –with-iconv=/usr/local/libiconv make make install |
此时,git应该编译安装成功了,可以测试下:
代码如下 | 复制代码 |
cd /usr/local/bin ./git –version git version 1.8.5 |
可能你会发现为什么直接在命令行输入git却提示无效呢,这里还需要做点设置,编辑/etc/profile, 将/usr/local/bin加入到系统路径:
代码如下 | 复制代码 |
export PATH=$PATH:/usr/local/bin |
保存退出,再刷新一下系统路径:
代码如下 | 复制代码 |
source /etc/profile |
在终端直接输入 git –-version
如能正确显示版本,git version 1.8.5,则大功告成。
——————————————————————————————————————
3、安装 gitosis
代码如下 | 复制代码 |
yum install python python-setuptools cd /usr/local/src |
——————————————————————————————————————
如果安装时报错如下:
Traceback (most recent call last):
File “setup.py“, line 2, in
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 [email protected]:/tmp #上传公钥到服务器(默认SSH端口22) 或 scp -P 3600 ~/.ssh/id_rsa.pub [email protected]:/tmp |
5、服务器上生成git用户,使用git用户并初始化gitosis
代码如下 | 复制代码 |
adduser -m git #删除密钥 |
6、在开发机上导出管理
代码如下 | 复制代码 |
mkdir -p /repo cd /repo git clone git@xxx:gitosis-admin.git 或 git clone ssh://git@xxx:3600/gitosis-admin.git |
7、增加及设置管理项目
代码如下 | 复制代码 |
cd /repo/gitosis-admin #提交修改 |
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 克隆代码到本机了。
太极熊猫2百度版 安卓版v1.7.1
下载黎明觉醒应用宝版 安卓版v1.111.1
下载暗影格斗3国际版 (Shadow Fight 3)最新版v1.40.3
下载王者战魂华为版 安卓版v3.6.1
下载放置魔法学院免广告版 v2.9.5
放置魔法学院内置Mod菜单是游戏的破解版本,在该版本中为玩家
万乘之国qq版本 安卓版v1.0.5
万乘之国qq版本是一款极具魅力的策略游戏,玩家们可以通过不同
动物餐厅国际服无限内购版 v12.9
动物餐厅国际服免广告版是游戏的破解版本,在该版本中为玩家去除
欧洲卡车司机 安卓版v3.2
欧洲卡车司机是款模拟经营游戏,这款游戏的画面还是蛮逼真的,给
疯狂大酒店 (Grand Hotel Mania)最新中文版v4.10.0.20
疯狂大酒店(Grand Hotel Mania)是一款好玩的