1.编译安装git
git安装教程:http://blog.haohtml.com/archives/10093
ssh-keygen -t rsa -C "chen.qiu@1.cn"
2.安装gitosis
$ yum install python python-setuptools
$ git clone git://github.com/res0nat0r/gitosis.git
$ cd gitosis
$ python setup.py install
网址:https://github.com/res0nat0r/gitosis
3.在开发机器上生成公共密钥(用来初始化gitosis)
$ ssh-keygen -t rsa #不需要密码,一路回车就行(在本地操作)
$ scp ~/.ssh/id_rsa.pub root@xxx:/tmp/ # 上传你的ssh public key到服务器
4.初始化gitosis[服务器端]
$ adduser git # 新增一个git用户(先添加用户组 groupadd git)
$ su git # 切换倒git用户下
$ gitosis-init < /tmp/id_rsa.pub # id_rsa.pub是刚刚传过来的,注意放在/tmp目录主要是因为此目录权限所有人都有定权限的
$ rm /tmp/id_rsa.pub # id_rsa.pub已经无用,可删除.
5.获取并配置gitosis-admin [客户端]
$ git clone git@xxx:gitosis-admin.git # 切换到root用户并在本地执行,获取gitosis管理项目,将会产生一个gitosis-admin的目录,里面有配置文件gitosis.conf和一个 keydir 的目录,keydir目录主要存放git用户名
$ vi gitosis-admin/gitosis.conf # 编辑gitosis-admin配置文件
如果无法git clone的话,可以使用git clone git@xxx:/home/git/repositories/gitosis-admin.git
# 在gitosis.conf底部增加
[group 组名]
writable = 项目名
members = 用户 # 这里的用户名字 要和 keydir下的文件名字相一致
# VI下按ZZ(大写)两次会执行自动保存并退出,完成后执行
$ cd gitosis-admin
$ git add .
$ git commit -a -m “xxx xx” # 要记住的是,如果每次添加新文件必须执行git add .,或者git add filename,如果没有新加文件,只是进行修改的话就可以执行此句。
# 修改了文件以后一定要PUSH到服务器,否则不会生效。
$ git push
如果在git push的时候,遇到错误“ddress 192.168.0.77 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!”,解决为修改/etc/hosts文件,将ip地址与主机名对应关系写进去就可以了。
注意:这里我们并没有进行任何的修改的,现在只有一个管理git的项目。下面的为新添加项目的配置,大家经常用到的也就是下面的操作的。
新建项目
到此步就算完成gitosis的初始化了。接下来的是新建一个新项目到服务器的操作,如第5步中配置gitosis.conf文件添加的是
[group project1] # 组名称
writable = project1 # 项目名称
members = xxx # 用户名xxx一定要与客户端使用的用户名完全一样,否则无权限操作
提交修改并更新到git server服务端
$ git commit -a -m “添加新项目project1,新项目的目录是project1,该项目的成员是xxx“ # “”里的内容自定
$ git push
将新创建的项目提交到git server 上进行登记。以便客户可以操作新项目.
# 在客户端创建项目目录(客户端,当前用户为 XXX )
现在回到开发者客户端,上面创建了一个新项目project1并提交到了git server 。我们这里就创建此项目的信息.注意 项目名称 project1要与gitosis.conf文件配置一致,
$ mkdir /home/用户/project1
$ cd /home/用户/project1
$ git init
$ git add . # 新增文件 留意后面有一个点
$ git commit -a -m “初始化项目project1″
# 然后就到把这个项目放到git server服务器上去.
$ git remote add origin git@xxx:project1.git # xxx为服务器地址
$ git push origin master
# 也可以把上面的两步合成一步
$ git push git@xxx:project1.git master
说明:如果在执行 git push origin master 的时候,提示以下错误:
error: src refspec master does not match any.
error: failed to push some refs to 'git@192.168.0.77:pro2.git'
这是由于项目为空的原因,我们在项目目录里新创建一个文件。经过->add -> commit -> push 就可以解决了
$ touch a.txt
$ git add a.txt
$ git commit -a -m 'add a.txt'
$ git push
------------------------------------------------------------------------------------------------
如果在git clone的时候遇到“
error: cannot run ssh: No such file or directory - cygwin git
”错误,则表示本机没有安装ssh命令。安装方法请参考:http://blog.haohtml.com/archives/13313
有时候我们要更换电脑来重新开发项目。这个时候,只需要将id_rsa私钥放在home目录里的.ssh目录里就可以了。(有时候一个人开发多个项目,这时候可能会提示id_rsa文件已经存在。不太清楚这里如何解决???)
续篇:git下添加新项目及用户
====================================================
三、常见问题
首先确定 /home/git/repositories/gitosis-admin.git/hooks/post-update 为可执行即属性为 0755
1. git操作需要输入密码
原因
公密未找到
解决
上传id_rsa.pub到keydir并改为'gitosis帐号.pub'形式,如miao.pub。扩展名.pub不可省略
2. ERROR:gitosis.serve.main:Repository read access denied
原因
gitosis.conf中的members与keydir中的用户名不一致,如gitosis中的members = foo@bar,但keydir中的公密名却叫foo.pub
解决
使keydir的名称与gitosis中members所指的名称一致。
改为members = foo 或 公密名称改为foo@bar.pub
3. 相关链接
http://blog.csdn.net/wangyuefenga/article/details/7460104
相关文档:
http://www.cnblogs.com/nasa/archive/2012/05/31/2528901.html
http://www.jiangmiao.org/blog/1600.html
相关推荐
gitosis 安装详情 gitosis install
至此,gitosis安装已完成。 接下来,你可以创建项目仓库。例如,创建一个名为`test.git`的仓库: ```bash sudo mkdir /home/git/git_repo/test.git cd /home/git/git_repo/test.git sudo git --bare init ``` 为了...
2. 下载并安装gitosis cd ~/src git clone git://eagain.net/gitosis.git cd gitosis python setup.py install 3. 添加用户git sudo adduser \ --system \ --shell /bin/sh \ --gecos 'git version control' \ ...
在本文中,我们将详细介绍如何在 Linux 系统中安装和配置 Git 环境,包括设置用户权限、安装 Git、配置 Git 账号、初始化 Gitosis、配置 Git 服务选项等内容。 一、增加 yum repository 在 CentOS 中,要安装 Git ...
本文详细介绍了在Ubuntu系统下搭建和使用Git服务器的步骤,包括准备环境、安装ssh-server、安装git-core、安装gitosis、创建系统用户、运行gitosis、Git服务器管理员克隆仓库和修改gitosis.conf权限文档等方面的知识...
本压缩包 "gitosis.tar.gz" 是一个用于在服务器上安装 Gitosis 的工具包,包含了必要的配置文件和脚本。 首先,Gitosis 的安装通常涉及到以下几个步骤: 1. **环境准备**:确保服务器上已经安装了 Git。如果未安装...
#### 二、Gitosis安装与配置步骤 **第一步:环境准备** 1. **服务端准备**: - 操作系统:CentOS - 确保已经安装了Python环境,Gitosis使用Python编写,因此Python是必需的。 - 可选:如果使用的是较新的CentOS...
3. **解压并安装Gitosis**:将下载的`gitosis`文件解压,然后按照解压后的文档指示进行安装。通常,这包括将Gitosis的源代码复制到`/usr/local/src`,然后执行初始化脚本。 4. **配置Gitosis**:Gitosis的配置存储...
gitosis的打包文件,适合于无法联网从git获取clone的主机使用。在sles 11上安装成功;前提需要安装setuptools
在任意目录下创建一个新目录,然后克隆gitosis的Git仓库:`git clone git://eagain.net/gitosis.git`,进入目录并运行`sudo python setup.py install`来安装gitosis。 安装完成后,需要创建一个新的系统账户,用于...
Setuptools-0.6c8在这个过程中可能用于安装或更新Gitosis本身,或者在服务器上安装其他必要的Python库。 最后,一旦所有组件都正确安装并配置,用户可以通过SSH连接到服务器,并使用git clone命令克隆gitosis托管的...
本文主要介绍了 Git 服务器端安装及应用,包括安装 OpenSSH Server、配置 SSH 服务端、安装 Git、安装 Gitosis、创建系统用户和运行 Gitosis 等步骤。 一、安装 OpenSSH Server OpenSSH Server 是一个自由和开源的...
本文主要介绍了在 Ubuntu 系统上安装和配置 Git 服务器的步骤,包括安装 OpenSSH Server、配置 SSH 服务端、安装 Git、安装 Gitosis、创建系统用户和运行 Gitosis 等内容。 一、安装 OpenSSH Server 为了确保 SSH ...
Win32下git客户端安装及基本使用 在本文中,我们将介绍在Win32环境下安装和使用Git客户端的基本步骤。 安装Git客户端 首先,我们需要下载并安装Git客户端程序,例如Git-1.7.6-preview20110708.exe。安装模式选择...
4. **安装 Gitosis**: - 初始化 Git 用户信息: ```bash git config --global user.name "xxx" git config --global user.email "******@qq.com" ``` - `xxx`: 用户名。 - `******@qq.com`: 邮箱地址。 - ...
总结,Git服务器配置涉及Git和Gitosis的安装与设置,主要目的是实现代码版本控制和团队协作。通过理解这些基础知识,你可以成功地搭建起一个安全的Git服务器,为项目提供高效且可控的代码管理环境。
整个搭建过程可以分为七个步骤:安装 Ubuntu 系统、更新系统、安装 OpenSSH 服务器端、修改 SSH 配置文件、重启 SSH 服务、安装 Git 相关工具、安装 Gitosis。 详细来说,第一步是安装 Ubuntu 系统。在安装过程中,...
2. 安装 Gitosis:使用 `sudo python setup.py install` 安装 Gitosis。 3. 安装 Repo:使用 `sudo apt-get install repo` 安装 Repo。 创建 Gitosis 管理员 创建一个禁用密码的用户 git,並將其設置為 Gitosis 的...
- 安装Gitosis:首先,在服务器上安装Git和Gitosis。通常,这涉及在终端中运行`sudo apt-get install git gitosis`(对于基于Debian/Ubuntu的系统)。 - 初始化Gitosis:创建一个初始的Gitosis仓库,然后将你的SSH...