搭建git服务

Posted xihuangwutong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建git服务相关的知识,希望对你有一定的参考价值。

强烈推荐的参考文档:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8


在git上搭建一个服务供小团队来使用,可以通过公钥来省略登录

git不用密码的读写权限是因为使用了git用户,借助ssh协议来登录了服务器


首先要创建一个git用户,在git目录下创建.ssh/authorized_keys存放开发者的公钥

创建项目应该是git用户可以访问的目录


首先,创建一个 'git' 用户并为其创建一个 .ssh 目录。

$ sudo adduser git
$ su git
$ cd
$ mkdir .ssh 
$ cd .ssh
$ touch authorized_keys

接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。

scp ~/.ssh/id_rsa.pub git@your.server.com:~/.ssh/  //scp将公钥复制到服务器中
ssh git@your.server.com 
cd ~/.ssh 
cat id_rsa.pub >> authorized_keys     //追加到authorized_keys

现在可以使用 –bare 选项运行 git init 来设定一个空仓库,这会初始化一个不包含工作目录的仓库。

$ mkdir project.git
$ cd project.git
$ git --bare init

这时,开发人员就可以把它加为远程仓库,推送一个分支,从而把第一个版本的工程上传到仓库里了。

# 在一个工程师的电脑上
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:project.git
$ git push origin master

使用git remote add 和git clone的时候要使用服务器上的绝对路径(我在这里吃了大亏)


参考资料:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8

http://www.jianshu.com/p/8d26730386f3

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

https://ruby-china.org/topics/5040

以上是关于搭建git服务的主要内容,如果未能解决你的问题,请参考以下文章

怎么在阿里云上搭建git服务器

搭建一个git服务器

ubuntu上搭建git服务器

搭建Git服务器及备份服务器

git知识总结-4.git服务器搭建及迁移git仓库

Git 服务器搭建