这两天在折腾搭建组内的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.g**o*ogle.com/p/git-core)
| 代码如下 | 复制代码 |
| cd /usr/local/src wget https://git-core.google**co*de.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.**gn*u.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://py*tho*n-di*stribute.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 克隆代码到本机了。
模拟极限越野
模拟极限越野开着大巴在各种奇葩路况里送乘客。山路弯道多得让人
模拟火车
模拟火车让你当回真正的火车司机,得先学会看信号灯、操作控制杆
可口的披萨美味的披萨
可口的披萨美味的披萨带您体验经营一家披萨店的乐趣。游戏画风温
定制虚拟偶像最新版
定制虚拟偶像最新版是一款超级经典有趣的日本模拟装扮类型的手游
病娇模拟器手机版正版(yandere simulator)
病娇模拟器最新版手游是一款萌妹二次元模拟游戏,玩家在游戏中可