最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作

来源:动视网 责编:小OO 时间:2025-10-03 04:14:08
文档

Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作

Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作1配置环境操作系统:Ubuntu10.10内核:2.6.35标准版服务器端管理员用户名:administrator服务器端ip:192.168.10.147管理员客户端用户名:user01管理员客户端ip:192.168.10.157普通用户客户端用户名:user022服务器配置2.1软件准备1)安装Gitosis和Git。administrator@server:~$sudoapt-getinstallgit-c
推荐度:
导读Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作1配置环境操作系统:Ubuntu10.10内核:2.6.35标准版服务器端管理员用户名:administrator服务器端ip:192.168.10.147管理员客户端用户名:user01管理员客户端ip:192.168.10.157普通用户客户端用户名:user022服务器配置2.1软件准备1)安装Gitosis和Git。administrator@server:~$sudoapt-getinstallgit-c
Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作

1 配置环境

操作系统:Ubuntu10.10

内核:2.6.35标准版

服务器端管理员用户名:administrator

服务器端ip:192.168.10.147

管理员客户端用户名:user01

管理员客户端ip:192.168.10.157

普通用户客户端用户名:user02

2 服务器配置

2.1 软件准备

1)安装Gitosis和Git。

administrator@server:~$ sudo apt-get install git-core gitosis

2)安装ssh。

administrator@server:~$ sudo apt-get install openssh-server openssh-client

3)添加git用户并设置密码。服务器端的git用户将作为代码仓库的所有者和用户权限的管理者。

administrator@server:~$ sudo useradd –m git

administrator@server:~$ sudo passwd git

4)初始化服务器上的git用户。(为安装gitosis做准备,客户端的用户在使用git的时候也要如此初始化)

administrator@server:~$ git config –global user.name “wuchao”

administrator@server:~$ git config –global user.email “aaawuchao@gmail.com”

5)安装gitosis还需要安装python的setup tool。

administrator@server:~$ sudo apt-get install python-setuptools

6)获得gitosis包并安装。

administrator@server:~$ cd /tmp

administrator@server:/tmp$ git clone git://eagain.net/gitosis.git

administrator@server:/tmp$ cd gitosis

administrator@server:/tmp/gitosis$ sudo python setuo.py install

实验室的代理无法连接git://eagain.net/gitosis.git,因此无法下载。我是在网上搜的sitosis安装包,直接放到/tmp/gitosis/下安装的。

2.2 管理员客户端ssh密钥生成和上传

服务器端的gitosis要用代码仓库管理员(user01)客户端的公钥来初始化,方便日后管理。

1)在管理员客户端电脑的ubuntu系统上:

user01@client:$ ssh-keygen –t rsa

此举会在/home/user01/.ssh/下生成私钥id_rsa和公钥id_rsa.pub文件。

2)将刚才生成的id_rsa.pub公钥传输到服务器端的电脑,并保证其它用户有读的权限:

user01@client:$ scp .ssh/id_rsa.pub git@192.168.10.147:/tmp

也可以直接用U盘拷贝过去。

2.3 gitosis初始化

1)确保刚才上传到服务器端的管理员公钥有读权限:

administrator@server:~$ sudo chmod a+r /tmp/id_rsa.pub

2)初始化运行gitosis:

administrator@server:~$ sudo –H –u git gitosis-init < /tmp/id_rsa.pub

Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/

Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

初始化后,在/home/git/repositories/下生成gitosis-admin.git/目录,其实也就是gitosis配置文件所在的以git仓库形式存在的目录。

还需要修改一个文件的权限才可以在管理员客户端更新配置文件:

administrator@server:~$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

exit

3 服务器常用操作

3.1 创建新仓库

在服务器端,添加一个叫test的空仓库:

administrator@server:~$ su git

$ mkdir /home/git/repositories/test.git

$ cd /home/git/repositories/test.git

$ git init --bare

$ exit

每次创建一个新仓库,都必须这样操作。

3.2 添加和修改用户权限

1)clone仓库配置文件夹gitosis-admin:

user01@client:~$ mkdir work

user01@client:~$ cd work

user01@client:~/work$ git clone git@192.168.10.147:gitosis-admin.git

user01@client:~/work$ cd gitosis-admin

2)添加普通用户user02公钥和仓库权限

a)将user02的公钥文件id_rsa.pub拷贝到gitosis-admin/keydir/下并改名为user02.pub。

b)修改gitosis.conf配置文件,添加user02对仓库的权限。

user01@client:~/work/gitosis-admin$ vim gitosis.conf

对gitosis.conf进行如下修改:

[gitosis]

[group gitosis-admin]

writable = gitosis-admin

members = user01

[group test]

writable = test

members = user02

[group hello_ro]

readonly = test

members = user01

配置文件表明:对于管理员仓库gitosis-admin,user01有读写权限;对于普通仓库test,user02有读写权限,user01只有读的权限。

同时,members后面的用户名需要与gitosis-admin/keydir/里的公钥名字一致(不包含后缀名.pub)。

gitosis-admin配置仓库修改完之后,还需要push到服务器才能生效:

user01@client:~/work/gitosis-admin$ git add .

user01@client:~/work/gitosis-admin$ git commit –am “add user02 to test”

user01@client:~/work/gitosis-admin$ git push

3.3 仓库初始化

1)空仓库是无法clone的,需要上传一个初始化版本。(假设由user02用户执行,他已经有权限)。

user02@client:~$ mkdir test

user02@client:~$ cd test

user02@client:~/test$ git init

user02@client:~/test$ touch hello.c

user02@client:~/test$ git add .

user02@client:~/test$ git commit –am “test 1st version”

user02@client:~/test$ git remote add origin git@192.168.10.147:test.git

user02@client:~/test$ git push origin master

2)push成功后,test仓库就有第一个版本了,可以进行进一步修改:

user02@client:~/test$ echo “#include ” > hello.c

user02@client:~/test$ git add .

user02@client:~/test$ git commit –am “user02 modified 2012.05.13 10:45”

user02@client:~/test$ git push

4 Eclipse的Egit配置

4.1 安装Egit插件

可以通过Eclipse的Help->Install New Software或者Help->Eclipse Markeplace安装。

4.2 生成ssh密钥

Windows->Preferences->General->Network Connections->SSH2

图 4.1

Save Private Key之后,Windows用户会在c:\Documents and Settings\用户名\\.ssh生成密钥对,ubuntu用户则是/home/用户名/.ssh/。

最好把密钥对的文件名改成用户名,方便管理。例如,对于user01用户将私钥id_rsa改成user01,公钥id_rsa.pub改成user01.pub。然后将user01.pub交给管理员push到服务器上,并配置gitosis.conf。

接着需要在eclipse添加私钥:

图 4.2

如果在.ssh下面没有known_hosts文件,则需要先用eclipse执行一次clone操作,创建known_hosts文件后,才能push,不然push的时候会报连接错误。完成后,就可以正常使用git代码服务器了。

4.3 其它配置

1)首先要配置使用版本库的人名字和邮箱,这相当于命令行中的

git config  –global user.name  “your name”

git config  –global user.email  you@example.com

打开Preferences > Team > Git > Configuration,点击 New Entry ,新建一个键值对,user.name和user.email。

图 4.3

图 4.4

建好后,可以查看到刚刚新建成功后的用户信息。

图 4.5

2)建立Home目录

类似建立系统变量,打开新建系统变量的窗口,新建一个HOME,变量值输入"%USERPROFILE%"或者其他一个路径,如下图所示:

图 4.6

5 Eclipse下的git操作

5.1 将本地project创建成git仓库并初始化到git服务器

1)创建一个本地工程,名字叫HelloGit。

图 5.1

2)选择这个工程,点击右键,Team->Share Project,选择git。

图 5.2

如上图所示,选择工程,然后选择Use or create…,进入选择Create Repository对这个工程初始化一个git版本库,如图5.3。如果这个工程已经在于一个版本库的工作树上的话,这个版本库会自动选择,如图5.4:

图 5.3

图 5.4

3)点击Finish完成创建。

图 5.5

4)对工程点击右键,选择team,会出来git的命令,选择commit,然后选择你要提交的文件,加上提交留言,点击commit,完成提交。

图 5.6

5)然后对工程点击右键->team会出来git菜单:

图 5.7

6)选择remote->push进入push窗口,然后在URI输入git仓库的路径后,点击Next。这里的git仓库android-security.git必须是在服务器端初始化过的仓库。

图 5.8

7)接下来出现新的push操作界面(图 5.9),如图在Source ref选择要push到的分支,再点击Add Spec,接着点击finish即完成将本地project上传到git服务器的操作。

图 5.9

5.2clone一个服务器端的仓库到本地

1)import一个git项目,选择URI方式。

图 5.10

2)然后在URI栏输入服务器现有git仓库路径,然后按Next:

图 5.11

3)然后选择用于存放项目的路径:

图 5.12

4)接下来的界面选择Import existing projects将刚才clone的仓库直接导入成eclipse项目,如图5.13所示:

图 5.13

5)如果完成代码的修改后,要更新该项目的服务器端版本,则先team->commit,然后右键点击项目名,选择team->Push to Upstream即可,如图5.14所示:

图 5.14

文档

Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作

Ubuntu下用Gitosis搭建GIT代码服务器及Eclipse下的Git操作1配置环境操作系统:Ubuntu10.10内核:2.6.35标准版服务器端管理员用户名:administrator服务器端ip:192.168.10.147管理员客户端用户名:user01管理员客户端ip:192.168.10.157普通用户客户端用户名:user022服务器配置2.1软件准备1)安装Gitosis和Git。administrator@server:~$sudoapt-getinstallgit-c
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top