ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:146.80KB ,
资源ID:4453561      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4453561.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ubuntu搭建git服务资料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ubuntu搭建git服务资料.docx

1、ubuntu搭建git服务资料最近公司项目需要用到Git来管理项目,正好逢周末花了点时间在虚拟机的unbuntu系统中搭建了下git的服务器,由于搭建过程中多多少少遇到了一些小问题,再因为个人记性不太好,所以在这里记录下来,以备不时之需。开始我已经在虚拟机的ubuntu12.04系统下已经装过一次,忘了记录,这次重新再在虚拟机的ubuntu13.10系统下一步一步的来搭建,后面介绍包括了在客户端机器(宿主机器win7)安装git客户端,及客户端git bash的简单使用。一、安装git服务器所需软件打开终端输入以下命令:sqlview plaincopyprint?1. ubuntu:$sud

2、oapt-getinstallgit-coreopenssh-serveropenssh-clientgit-core是git版本控制核心软件安装openssh-server和openssh-client是由于git需要通过ssh协议来在服务器与客户端之间传输文件然后中间有个确认操作,输入Y后等待系统自动从镜像服务器中下载软件安装,安装完后会回到用户当前目录。如果安装提示失败,可能是因为系统软件库的索引文件太旧了,先更新一下就可以了,更新命令如下:sqlview plaincopyprint?1. ubuntu:$sudoapt-getupdate更新完软件库索引后继续执行上面的安装命令即可。

3、安装python的setuptools和gitosis,由于gitosis的安装需要依赖于python的一些工具,所以我们需要先安装python的setuptools。执行下面的命令:sqlview plaincopyprint?1. ubuntu:$sudoapt-getinstallpython-setuptools这个工具比较小,安装也比较快,接下来准备安装gitosis,安装gitosis之前需要初始化一下服务器的git用户信息,这个随便填。sqlview plaincopyprint?1. ubuntu:$gitconfig-globaluser.namemyname2. ubunt

4、u:$gitconfig-globaluser.email*初始化服务器用户信息后,就可以安装gitosis了,gitosis主要是用于给用户授权,设置权限也算是很方便的。可以通过以下命令获取gitosis版本文件sqlview plaincopyprint?1. ubuntu:$gitclone注意:中间有两个是数字零获取gitosis文件后,进入到文件目录下面sqlview plaincopyprint?1. ubuntu:/tmp$cdgitosis/接着使用python命令安装目录下的setup.py的python脚本进行安装sqlview plaincopyprint?1. ubun

5、tu:/tmp/gitosis$sudopythonsetup.pyinstall到这里,整个安装步骤就完成了,下面就开始对git进行一些基本的配置。二、创建git管理员账户、配置git创建一个账户(git)作为git服务器的管理员,可以管理其他用户的项目权限。sqlview plaincopyprint?1. ubuntu:/tmp/gitosis$sudouseradd-mgit2. ubuntu:/tmp/gitosis$sudopasswdgit然后再/home目录下创建一个项目仓库存储点,并设置只有git用户拥有所有权限,其他用户没有任何权限。sqlview plaincopypri

6、nt?1. ubuntu:/tmp/gitosis$sudomkdir/home/gitrepository2. ubuntu:/tmp/gitosis$sudochowngit:git/home/gitrepository/3. ubuntu:/tmp/gitosis$sudochmod700/home/gitrepository/由于gitosis默认状态下会将仓库放在用户的repositories目录下,例如git用户的仓库地址默认在/home/git/repositories/目录下,这里我们需要创建一个链接映射。让他指向我们前面创建的专门用于存放项目的仓库目录/home/gitrep

7、ository。sqlview plaincopyprint?1. ubuntu:/tmp/gitosis$sudoln-s/home/gitrepository/home/git/repositories这里我将在服务器端生成ssh公钥,如果想在其他机器上管理也可以在其他机器上生成一个ssh的公钥。sqlview plaincopyprint?1. ubuntu:/home/git$ssh-keygen-trsa这里会提示输入密码,我们不输入直接回车即可。然后用刚生成公钥id_rsa.pub来对gitosis进行初始化。出现如上信息说明gitosis已经初始化成功。gitosis主要是通过g

8、itosis-admin.git仓库来管理一些配置文件的,如用户权限的管理。这里我们需要对其中的一个post-update文件添加可执行的权限。sqlview plaincopyprint?1. ubuntu:/home/git$sudochmod755/home/gitrepository/gitosis-admin.git/hooks/post-update三、服务器上创建项目仓库使用git账户在服务器上创建一个目录(mytestproject.git)并初始化成git项目仓库。sqlview plaincopyprint?1. ubuntu:/home/git$sugit2. $cd/h

9、ome/gitrepository3. $mkdirmytestproject.git4. $gitinit-bare5. $exit如果出现以下信息就说明已经成功创建了一个名为mytestproject.git的项目仓库了,新建的这个仓库暂时还是空的,不能被客户端clone,还需要对gitosis进行一些配置操作。四、使用gitosis管理用户操作项目的权限首先需要在前面生成ssh公钥(用来初始化gitosis)的机器上将gitosis-admin.git的仓库clone下来。在客户端机器上新建一个目录用于存放gitosis-admin.git仓库sqlview plaincopyprint

10、?1. ubuntu:$mkdirgitadmin2. ubuntu:$cdgitadmin/3. ubuntu:/gitadmin$gitclonegit192.168.1.106:gitosis-admin.gitclone正确会显示一下信息clone下来会有一个gitosis.conf的配置文件和一个keydir的目录。gitosis.conf用于配置用户的权限信息,keydir主要用户存放ssh公钥文件(一般以“用户名.pub”命名,gitosis.conf配置文件中需使用相同用户名),用于认证请求的客户端机器。现在让需要授权的用户使用前面的方式各自在其自己的机器上生成相应的ssh公钥

11、文件,管理员把他们分别按用户名命名好,复制到keydir目录下。sqlview plaincopyprint?1. ubuntu:$cp/home/aaaaa/Desktop/zhangsan.pub/home/aaaaa/gitadmin/gitosis-admin/keydir/2. 3. ubuntu:$cp/home/aaaaa/Desktop/lisi.pub/home/aaaaa/gitadmin/gitosis-admin/keydir/继续编辑gitosis.conf文件gitosisgroup gitosis-admin #管理员组members = charnubuntu

12、#管理员用户名,需要在keydir目录下找到相应的.pub文件,多个可用空格隔开(下同)writable = gitosis-admin#可写的项目仓库名,多个可用空格隔开(下同)group testwrite #可写权限组members = zhangsan#组用户writable = mytestproject#可写的项目仓库名group testread#只读权限组members =lisi#组用户readonly= mytestproject#只读项目仓库名因为这些配置的修改只是在本地修改的,还需要推送到服务器中才能生效。sqlview plaincopyprint?1. ubuntu

13、:/gitadmin/gitosis-admin$gitadd.2. ubuntu:/gitadmin/gitosis-admin$gitcommit-amaddauserpermission3. ubuntu:/gitadmin/gitosis-admin$gitpushoriginmaster推送成功会显示下面提示信息又是后新增的用户不能立即生效,这时候需要重新启动一下sshd服务sqlview plaincopyprint?1. ubuntu:/gitadmin/gitosis-admin$sudo/etc/init.d/sshrestart现在,服务端的git就已经安装和配置完成了,接

14、下来就需要有权限的组成员在各自的机器上clone服务器上的相应项目仓库进行相应的工作了。五、客户端(windows)使用git下载安装windows版本的git客户端软件,下载地址:http:/msysgit.github.io/安装完成后右键菜单会出现几个git相关的菜单选项,我们主要使用其中的git bash通过命令行来进行操作。在本地新建一个目录,使用git初始化这个目录,然后再里面新建一个文本文件用于测试,最后关联到git服务器仓库中的相关项目,最后上传本地版本到服务器。sqlview plaincopyprint?1. $mkdirtestgit2. $cdtestgit3. $gi

15、tinit4. $echothisisatesttextfile,willpushtoserverhello.txt5. $gitadd.6. $gitcommit-aminitabaseversion,addafirstfileforpushtoserver7. $gitremoteaddorigingitserverip:mytestproject.git8. $gitpushoriginmaster这样服务端就创建好了一个mytestproject.git的仓库的基础版本了,现在其他组员只要从服务端进行clone就可以了。window下面进入到需要克隆的本地目录下面右键选择git bash选项,输入sqlview plaincopyprint?1. $gitclonegitserverip:mytestproject.git就可以把项目clone到本地仓库了。下面进行简单的修改和提交操作sqlview plaincopyprint?1. $cdmytestproject2. $echothisisanothertextfilecreatedbyotheranother.txt3. $gitadd.4. $gitcommit-amaddaanotherfilebyother5. $gitpushoriginmaster最后推送到服务器成功会显示如下信息

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1