git 服务器的搭建
来源:互联网 发布:华为交换telnet的端口 编辑:程序博客网 时间:2024/05/06 20:56
转载自:
http://bdxnote.blog.163.com/blog/static/844423520124137333373/
STEP1、创建git账号用于管理git服务器: useradd -s /bin/bash -d /home/git -G root -m -c "Manager for git server" -p git git 其中,-p:指定账户git的密码; -m:强制创建git账户的home目录; -d:指定git账号的home目录; -s:指定git账号的登录shell; -G:指定git账户所属的用户组; -c:指定git账号的描述;STEP2、升级系统: sudo apt-get update sudo apt-get upgradeSTEP3、安装git相关的组件: sudo apt-get install git-core openssh-server openssh-clientSTEP4、安装gitosisSTEP4-1:初始化一下git服务器所管理的账户(提交代码时的账号); git@zxk:~$ git config --global user.name "zxk" git@zxk:~$ git config --global user.email "zxk@163.com"STEP4-2:安装python的setup tool,为安装gitosis做准备; git@zxk:~$ sudo apt-get install python-setuptoolsSTEP4-3:获取gitosis安装包; git@zxk:~$ mkdir ~/.gitosis_setop git@zxk:~$ cd ~/.gitosis_setop/
git@zxk:~/.gitosis_setop$ git clone git://eagain.net/gitosis.git 如果这个不行: Cloning into 'gitosis'... fatal: unable to connect to eagain.net: eagain.net[0: 208.78.102.120]: errno=Connection refused 则可从如下位置clone gitosis包: git clone https://github.com/res0nat0r/gitosis.git Cloning into 'gitosis'... remote: Counting objects: 727, done. remote: Compressing objects: 100% (216/216), done. remote: Total 727 (delta 510), reused 701 (delta 495) Receiving objects: 100% (727/727), 111.73 KiB | 44 KiB/s, done. Resolving deltas: 100% (510/510), done.STEP4-4:安装gitosis包; git@zxk:~/.gitosis_setop$ cd gitosis/ git@zxk:~/.gitosis_setop/gitosis$ sudo python setup.py install 若报错,可通过如下命令解决: git@zxk:wget http://peak.telecommunity.com/dist/ez_setup.py git@zxk:python ez_setup.pySTEP4-5:生成ssh公钥,并上传到git服务器上,或直接使用git账户在git服务器上生成;现在采用使用git账户直接在git服务器上生成; git@zxk:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/git/.ssh/id_rsa): Created directory '/home/git/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again:
Your identification has been saved in /home/git/.ssh/id_rsa. Your public key has been saved in /home/git/.ssh/id_rsa.pub. The key fingerprint is: 34:34:76:a3:72:3f:05:46:d3:e1:72:62:68:e6:fa:63 git@zxk The key's randomart image is: +--[ RSA 2048]----+ | +.B... | | o * =. | | . O + + | | B + = | | S o | | . . | | . | | .E | | ... | +-----------------+STEP4-6:初始化gitosis; git@zxk:~$ sudo -H -u git gitosis-init < ~/.ssh/id_rsa Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ gitosid默认会会把git仓库放在git账号的home目录下;STEP4-7:配置gitosis,以控制git客户端的操作; git@zxk:~$ git clone git@192.168.0.251:repositories/gitosis-admin.git git@zxk:~$ cd gitosis-admin/ git@zxk:~/gitosis-admin$ vi gitosis.conf [gitosis] loglevel = DEBUG [group gitosis-admin] #gitosis-admin为git组名; witeable = gitosis-admin #gitosis-admin为仓库名; members = git@zxk root@zxk zxk@zxk #下面两个group配置实现把仓库teamwork的只读权限分配给git组team; #同时,把仓库teamwork的可写权限分配给git组team_ro; [group team] #team为git组名; writable = teamwork #teamwork为仓库名; members = a@svr b [group team_ro] #team_ro为git组名; readonly = teamwork #teamwork为仓库名;跟上面的team组里面的仓库名teamwork是同一个仓库; members = lz #例子: [group top1] writable = /repo/top1 member = git@zxk zxk@zxk root@zxk #gitosis的group配置语法: [group git组名]
gitosis的有趣之处在于,它通过一个git仓库来管理配置文件,仓库就放在了/home/git/repositories/gitosis-admin.git;我们需要为一个文件加上可执行权限: git@zxk:~$ pwd /home/git git@zxk:~$ chmod 755 repositories/gitosis-admin.git/hooks/post-updatewritable = 仓库名 members = user1@server user2 ...... [group git组名] readonly = 仓库名 members = user1@server user2 ...... git@zxk:~/gitosis-admin$ vi gitosis.conf git@zxk:~/gitosis-admin$ git add -A git@zxk:~/gitosis-admin$ git commit -m "init gitosis-admin config gitosis.conf" [master 2691646] init gitosis-admin config gitosis.conf 1 file changed, 4 insertions(+) git@zxk:~/gitosis-admin$ git push origin master git@192.168.0.251's password: Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 374 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To git@192.168.0.251:repositories/gitosis-admin.git 3970fa2..2691646 master -> masterSTEP4-8:创建一个仓库的存储位置,并初始化; git@zxk:~$ mkdir -p /repo/top1 git@zxk:~$ cd /repo/top1/ git@zxk:/repo/top1$ git init --bare #在当前项目仓库中配置访问该仓库的用户信息: git@zxk:/repo/top1$ git config --add user.name "zxk"git@zxk:/repo/top1$ git config --add user.email "zxk@163.com" git@zxk:/repo/top1$ git config --add user.name "bliss" git@zxk:/repo/top1$ git config --add user.email "bliss@163.com" git@zxk:/repo/top1$ git config --add user.name "dummy" git@zxk:/repo/top1$ git config --add user.email "dummy@163.com" 这些信息被添加在当前项目仓库的.git/config文件的[user]段中了; 如果git config命令加上--global选项,那些这些用户信息就会被添加到~/.gitconfig文件的[user]段中; 如: git@zxk:/repo/top1$ git config --global --add user.name "zhangsan" git@zxk:/repo/top1$ git config --global --add user.email "zhangsan@163.com" 如果git config命令加上--file选项,那些这些用户信息就会被添加到--file所指定的文件的[user]段中;STEP4-9:在客户端直接clone该仓库就可以了; git clone zxk@192.168.0.251:/repo/top1 test 然后初始化第一个版本的数据并提交;
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git 服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- git服务器的搭建
- git web 服务器的搭建
- 搭建自己的Git服务器
- git服务器的简单搭建
- git服务器的简单搭建
- 搭建自己的Git服务器
- spring读取properties属性文件,并替换占位符中的值.
- jrtplib + vs2010 编译,安装配置
- Mac截图基本方法
- Android: ListView与Button的共存问题解决
- 继Android学习起步之后
- git 服务器的搭建
- 使用dnsmasq提供DNS和DHCP服务(还有tftp服务)
- linux 下查看机器cpu是几核的
- MFC用CreateProcess启用新的进程
- 应用程序设置成服务
- 将JPetStore 6导入MyEclipse(部署至Tomcat)
- list中sort函数
- Intent和PendingIntent的区别
- VC中鼠标经过按钮弹出功能提示(TIPS)