码迷,mamicode.com
首页 > 其他好文 > 详细

Git服务器的搭建笔记

时间:2015-04-14 09:58:08      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:git   git服务器   搭建git服务器   

服务器系统选用ubuntu 系统

搭建步骤:
1.安装git
sudo apt-get install git


2.创建git用户,运行git服务
sudo adduser git


3.创建证书登录
收集所有要登陆用户公钥,就是id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
cd git
mkdir .ssh
cd .ssh
touch authorized_keys   
接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。

如何找到自己的公钥?
用户主目录下,看有没有.ssh ,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

注:在创建ssh key时,有告诉你公钥所在地的提示:

技术分享


4.初始化Git仓库
选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录输入命令:
sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
sudo chown -R git:git sample.git


5.禁用shell登录

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。


6.推送一个分支,从而把第一个版本的工程上传到仓库里了

在个人电脑里:
mkdir myproject
cd myproject
git init
touch readme
git add readme
git commit -m ‘initial commit‘
git remote add origin git@gitserver:/srv/sample.git
git push origin master

这样,你的项目就推送到远程仓库上面了。


如果一个小组其他成员一同编辑项目,只需要把他的公钥加进去后,把项目复制下来:
git clone git@gitserver:/srv/sample.git
就可以一同操作了,但注意每次push项目之前,应该先git pull。



遇到的问题:
1)error: src refspec master does not match any.
error: failed to push some refs to ‘git@192.168.0.29:/srv/sample.git‘
原因:目录中没有文件,空目录是不能提交上去的
2)git remote add origin git@192.168.0.29:/srv/sample.git
fatal: remote origin already exists.
操作失误,远程仓库错了,如何移除掉远程仓库:
git remote rm  origin  

Git服务器的搭建笔记

标签:git   git服务器   搭建git服务器   

原文地址:http://blog.csdn.net/zwto1/article/details/45037567

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!