1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、如何在Ubuntu上几步搭建Git Server 2、怎样在Ubuntu 14.04中搭建gitolite git服务器 3、怎么在ubuntu创建git服务器 如何在Ubuntu上几步搭建Git Server

搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。 假设你已经有sudo权限的用户账号,下面,正式开始安装。 第一步,安装git: $ sudo apt-get install git

怎样在Ubuntu 14.04中搭建gitolite git服务器

首先这里我们安装openssh-server openssh-client,如果你用的是VPS之类的一般都默认安装好了,不过运行一个这个命令不会有错的,如果有安装就会提示已安装。

sudo apt-get -y install openssh-server openssh-client

安装git,在这个核心软件,不可或缺。

sudo apt-get -y install git

添加gitolite用户和同名用户组,加上--system参数,用户就不会在登陆界面显示。

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite

生成ssh key,一路回车下来。

ssh-keygen -t rsa

将你当前用户的ssh pub key复制到/tmp下备用,由于我用的是桌面版在同一台机器上。

cp ~/.ssh/id_rsa.pub /tmp/ubuntugege.pub

如果你是ssh远程登陆到服务器上安装,就要把你本地的key复制到远程的机器上

scp ~/.ssh/id_rsa.pub gitolite.server:/tmp/ubuntugege.pub

安装gitolite,在ubuntu中已经集成了,不用自己去下载。

sudo apt-get -y install gitolite

切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。

sudo su - gitolite

执行初始化安装gitolite。

gl-setup /tmp/ubuntugege.pub

把管理库gitolite-admin克隆过来就可以开始gitolite用户及代码库的管理了,如果不能克隆,那么就说明初始化的ssh pub key错了。

怎么在ubuntu创建git服务器

1. 安装Git相关软件

Linux是服务器端系统,Windows作为客户端系统,分别安装Git

安装服务端:

[root@linuxprobe ~]# yum install -y git

[root@localhost ~]# git --version //安装完后,查看 Git 版本

git version 1.8.3.1

安装客户端:

下载 Git for Windows,地址:

安装完之后,可以使用Git Bash作为命令行客户端。

$ git --version

git version 2.11.1.windows.1 //安装完之后,查看Git版本

安装Gitosis

[root@linuxprobe ~]# cd software/

[root@linuxprobe software]# git clone

[root@linuxprobe software]# yum install python-setuptools -y

[root@linuxprobe software]# cd gitosis

[root@linuxprobe gitosis]# sudo python setup.py install

出现下面的信息表示安装成功了

Using /usr/lib/python2.6/site-packages

Finished processing dependencies for gitosis==0.2

2. 服务器端创建git用户来管理Git服务

[root@linuxprobe ~]# id git //查看git用户是否存在

id: git: no such user

[root@linuxprobe ~]# useradd git

[root@linuxprobe ~]# echo "123" | passwd --stdin git

[root@linuxprobe ~]# su - git //切换到git用户下

3. 配置公钥

在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行

$ ssh-keygen -t rsa //一直回车,不需要设置密码

~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~ //复制到git服务器上

4. 配置gitosis

使用git用户并初始化gitosis

[root@linuxprobe ~]# cd .ssh

[root@linuxprobe ~]# gitosis-init ./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/

[root@linuxprobe ~]# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update //添加权限

在Windows上机器上clone gitosis-admin到管理者主机

$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git

$ cd gitosis-admin

$ ls

$ gitosis.conf keydir

gitosis.conf: git服务器配置文件

keydir: 存放客户端公钥

配置gitosis.conf文件

$ vim gitosis.conf

[gitosis]

[group gitosis-admin] #组名称

members = yueyong@SHA2-001 #组成员

writable = gitosis-admin #项目名称

[group test] //这里添加了"test"项目组,上传到个git服务器

members = yueyong@SHA2-001

writable = test

在Windows管理者机器上创建本地test仓库,并上传到git服务端

$ git config --global user.name "Your Name" //第一次提交需要设置个人信息,设置用户名和邮箱

$ git config --global user.email "email@example.com"

$ cd ~/repo

$ mkdir test

$ git init

$ tocuh readme.txt

提交到远程服务器

$ git add .

$ git commit -a -m 'init test'

$ git remote add repo git@192.168.186.129:test.git //repo 远程库的名称,可以换成任意名称

$ git push repo master //上传本地所有分支代码到远程对应的分支上

服务端会自动创建test仓库

[git@repositories]# pwd

/home/git/repositories

[git@linuxprobe repositories]$ ls

gitosis-admin.git test.git

5.添加其他git用户开发者

由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/.ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsa.pub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。

$ cd ~/gitosis-admin/keydir

$ mv ~/id_rsa.pub zhangsan@SHA2-002.pub //修改公钥为主机名.pub

$ vim gitosis.conf

[group test]

writable = test

members = yueyong@SHA2-001 zhangsan@SHA2-002 //添加成员

$ git add .

$ git commit -m "add zhangsan@SHA2-002 pub and update gitosis.conf"

$ git push repo master

推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。

git clone git@192.168.34.184:/home/git/repositories/test.git

报错问题:ERROR:gitosis serve main repository read access denied

根据这个报错,可以看出key是没问题的,通过排查,发现不应该把这个/home/git/repositories/test.git写全,

git clone git@192.168.34.184:test.git

这样就可以了。

另外如果是想了解GIT的使用的话可以看下.com/chapter-21.html

相关文章 8

1

阿里云无性能约束模式,阿里云突发性能模式怎么关闭 1分钟前

目录:1、阿里云宣布启动张北超级智算中心,会带来哪些影响?2、阿里云服务器运行中总是无法访问怎么办?3、无性能约束模式会自动关...

2

defender关闭,defender关闭扫描 4分钟前

目录:1、如何关闭windows defender防病毒功能2、win10的windows defender怎么关闭3、windows defender怎么关闭4、如何关闭Windows Defender5、如何关闭Windo...

3

阿里云服务器贵不贵,阿里云服务器最便宜多少钱一年 5分钟前

目录:1、阿里云服务器ecs为什么那么贵2、想换台云服务器,有什么好用不贵的推荐一下下吗?3、哪家服务器便宜?4、阿里云服务器多少钱...

4

白银关键词网络优化,沈阳网络核心关键词优化 7分钟前

目录:1、网站关键字优化有哪些方法?应该如何做呢?2、金融SEO现在好优化吗,像白银,黄金.外汇3、公司网站想做推广,关键词是黄金投...

6

云计算术语,云计算术语词典 9分钟前

目录:1、云计算是什么意思?2、电脑术语“云”是什么意思?3、云计算,大数据与人工智能技术具体指什么??云计算是什么意思? 01 云计...

7

山南搜索引擎优化,搜索引擎优化实施流程 11分钟前

目录:1、如何优化网站搜索引擎?具体操作和流程?2、如何进行seo搜索引擎的优化3、搜索引擎优化是什么?4、seo搜索引擎的优化如何优化...