逍遥一派 发表于 2015-1-14 20:33:11

来一发CentOS下搭建Git办事器Gitosis

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1.编译装置git


Sql代码
1$wgethttp://kernel.org/pub/software/scm/git/git-1.7.3.tar.gz#今朝最新版本
2$tar-xzvfgit-1.7.3,tar.gz#解压出来
3$cdgit-1.7.3#进进目次
4$yuminstall-ygettext-develexpat-develcurl-develzlib-developenssl-devel#-y是默许主动装置,装置编译时用到的东东
5$./configure--with-curl=/usr/local#git装置路径
6$make&&makeinstall#最小化装置的CentOS是没有make的,能够yuminstallmake举行装置
7$git--version#检察版本号,的确git是不是装置乐成


2.装置gitosis


Sql代码
1$yuminstallpythonpython-setuptools
2$gitclonegit://eagain.net/gitosis.git
3$cdgitosis
4$pythonsetup.pyinstall



3.在开辟呆板上天生大众密钥(用来初始化gitosis)


Sql代码
1$ssh-keygen-trsa#不必要暗码,一起回车就行(在当地操纵)
2$scp~/.ssh/id_rsa.pubroot@***:/tmp/#上传你的sshpublickey到办事器

当git中碰到如许的成绩时分
Agentadmittedfailuretosignusingthekey.
Permissiondenied(publickey).
运转:ssh-add就能够了



4.初始化gitosis


Sql代码
1$addusergit#新增一个git用户
2$su-git#切换倒git用户下
3$gitosis-init</tmp/id_rsa.pub#id_rsa.pub是方才传过去的
4$rm/tmp/id_rsa.pub#id_rsa.pub已无用,可删除.


5.猎取并设置gitosis-admin


Sql代码
01$gitclonegit@***:gitosis-admin.git#在当地实行,猎取gitosis办理项目
02$vigitosis-admin/gitosis.conf#编纂gitosis-admin设置文件
03#在gitosis.conf底部增添
04
05writable=项目名
06members=用户#这里的用户名字要和keydir下的文件名字相分歧
07#VI下按ZZ(年夜写)两次会实行主动保留并加入,完成后实行
08$gitcommit-a-m“***xx”#要记着的是,每次增加新文件必需实行gitadd.,大概gitaddfilename,假如没有新加文件,只是修正的话就能够实行此句。
09#修正了文件今后必定要PUSH到办事器,不然不会失效。
10$gitpush

在windows下用git-bash天生密钥对ssh-keygen-trsa
1.在A机下天生公钥/私钥对。
$ssh-keygen-trsa-P

-P暗示暗码,-P就暗示空暗码,也能够不必-P参数,如许就要三车回车,用-P就一次回车。
它在/home/chenlb下天生.ssh目次,.ssh下有id_rsa和id_rsa.pub。

2.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。
$scp.ssh/id_rsa.pubchenlb@192.168.1.181:/home/chenlb/id_rsa.pub
chenlb@192.168.1.181spassword:
id_rsa.pub100%2230.2KB/s00:00

因为还没有免暗码登录的,以是要输出暗码。

3.B机把从A机复制的id_rsa.pub增加到.ssh/authorzied_keys文件里。
$catid_rsa.pub>>.ssh/authorized_keys
$chmod600.ssh/authorized_keys

authorized_keys的权限如果600


windows客户端要用tortorisePLink的体例毗连,并用设置repo的时分,要写全体路径,而且不要加上分支名git@88.88.88.88:repositories/hello.git

cdrepositoriesgitinit--bareproject1.git新建项目
到此步就算完成gitosis的初始化了。接上去的是新建一个新项目到办事器的操纵,如第5步中设置gitosis.conf文件增加的是
Sql代码
01#组称号
02writable=project1#项目称号
03members=***#用户名***为中的members一样

04#记得实行
Sql代码
01$gitcommit-a-m“增加新项目project1,新项目标目次是project1,该项目标成员是***“#“”里的内容自定
02$gitpush

07#进进到项目目次
Sql代码
01$cd/home/用户/project1#project1要与gitosis.conf文件设置分歧
02$gitinit
03$gitadd.#新增文件寄望前面有一个点
04$gitcommit-a-m“初始化项目project1&Prime;

12#然后就到把这个项目放到办事器上往
Sql代码
01$gitremoteaddorigingit@***:project1.git#***为办事器地点
02$gitpushoriginmaster

15#也能够把下面的两步分解一步
Sql代码
01$gitpushgit@***:project1.gitmaster


7.创立新的repositories
翻开gitosis.conf文件,你将看到

writable=gitosis-admin
members=elton@macbook
这个是办理组的权限,members中的用户名就是方才上传的公钥内里的用户名。
在这个文件前面到场:

members=elton@macbook
writable=free_monkey
这里你界说了一个叫myteam的组,授与elton@macbook这个用户写“free_monkey”这个repo的权限
gitcommit-a-m"Alloweltonwriteaccesstofree_monkey"
gitpush
下面的操纵就更新了办事真个权限。
上面就入手下手创立free_monkey的repo
mkdirfree_monkey
cdfree_monkey
gitinit
创立.gitignore文件,用于疏忽某些不必要举行代码办理的内容,如rails的使用大概以下:
.DS_Store
log/*.log
tmp/**/*
config/database.yml
db/*.sqlite3
提交卸码:
gitremoteaddorigingit@YOUR_SERVER_HOSTNAME:free_monkey.git
gitadd.
gitcommit-a-m"initialimport"
gitpushoriginmaster:refs/heads/master
接上去,能够增添成员的公钥到体系中了
cdgitosis-admin
cp~/alice.pubkeydir/
cp~/bob.pubkeydir/
gitaddkeydir/alice.pubkeydir/bob.pub
修正gitosis.conf

-members=jdoe
+members=jdoealicebob
writable=free_monkey
提交修正:
gitcommit-a-m"GrantedAliceandBobcommitrightstoFreeMonkey"
gitpush
别的成员就能够猎取代码了
gitclonegit@YOUR_SERVER:free_monkey.git


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

冷月葬花魂 发表于 2015-1-16 20:19:22

来一发CentOS下搭建Git办事器Gitosis

未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。

若天明 发表于 2015-1-24 15:45:30

硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。

金色的骷髅 发表于 2015-2-2 11:03:14

熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。

仓酷云 发表于 2015-2-7 19:31:03

把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。

只想知道 发表于 2015-2-23 13:50:39

硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。

变相怪杰 发表于 2015-3-7 10:32:30

有疑问前,知识学习前,先用搜索。

兰色精灵 发表于 2015-3-15 04:42:16

首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。

不帅 发表于 2015-3-21 21:37:14

熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
页: [1]
查看完整版本: 来一发CentOS下搭建Git办事器Gitosis