搭建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服务的主要内容,如果未能解决你的问题,请参考以下文章