[关闭]
@breakerthb 2016-06-04T02:51:58.000000Z 字数 1358 阅读 1559

搭建自己的Git服务器

Git


参考文章
http://www.ossxp.com/doc/git/gitolite.html

服务器端操作

1. 建立一个用户

这里命名为git。

ubuntu:

$ sudo useradd -m -s /bin/bash git

centos:

$ sudo useradd git

$ sudo passwd git  // 这里密码也设为git
	$ su - git
$ cd
	$ mkdir .ssh // 用来存入需要访问的成员的 ssh-keygen

2.创建目录

$ mkdir opt
	$ cd opt
$ pwd
	# /home/git/opt
	$ mkdir project.git // git的工程目录
$ cd project.git/

3. 创建仓库

$ git --bare init
# Initialized empty Git repository in /home/git/opt/project.git/

这个就是仓库的目录。

$ ll

git仓库目录

秘钥

1. 项目成员机生成秘钥

生成本机的ssh-keygen,直接运行

$ ssh-keygen # 回车,回车

生成的密钥会在下面的目录中:

有两个文件,复制id_rsa.pub的内容给服务器管理员

2. 服务器管理员(git用户)

在.ssh文件夹下建立authorized_key,把项目成员机上的秘钥填进去

此时,小组成员可以正常访问了。

创建项目

一般,PL完成此工作

做一个基本项目原型,供项目成员克隆下载 , 将已有文件推送到git服务器上

新建文件夹:GitProject

$ cd GitProject
	$ git init
$ git add *
    $ git commit -m "你的提交说明"

推送到远端git仓库

$ git remote add origin git@yourServerIP:/home/git/opt/project.git
	#这里是将远程git服务器命名成origin,方便以后使用,名字随便改。
    $ git remote add origin git@127.0.0.1:/home/git/opt/project.git

如果SSH端口发生了变化(如做了虚拟机端口映射),操作如下:

$ git remote add origin ssh://git@127.0.0.1:33/~/opt/project.git

注意这里用了相对路径。

如果需要删除:

$ git remote rm origin

推送到服务器

$ git push origin master
# 需要输入git用户的密码

执行结果

从远端仓库克隆

项目成员操作步骤:

# git clone <username>@<server>:/path/to/repo.git
$ git clone git@serverIP:/opt/git/project.git
	$ git clone ssh://git@127.0.0.1:33/~/opt/project.git


$ git commit -a -m "你的提交说明"
    # git remote add origin git@yourServerIP:/opt/git/project.git
	$ git remote add origin ssh://git@127.0.0.1:33/~/opt/project.git
$ git push origin master 上传分支。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注