搭建Git服务器

来源:互联网 发布:全国所有中小学数据库 编辑:程序博客网 时间:2024/06/03 12:41

搭建Git服务器

服务器端配置

1、安装Git

$ sudo apt-get install git

2、创建一个git用户,用来运行git服务。通过cd + 空格 转至当前用户目录为home/git。然后创建.ssh文件夹来存储SHH公钥。大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。

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

3、初始化Git仓库

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

4、owner改为git,此命令在/opt/git下执行

$ sudo chown -R git:git project.git    

如果出现下述错误提示,就是因为权限没有修改,执行上述命令即可

remote: error: insufficient permission for adding an object to repository database ./objectsremote: fatal: failed to write objecterror: unpack failed: unpack-objects abnormal exit

5、测试本机SSH是否可以正常工作。如果出现connetction refused证明ssh不能使用,需要安装ssh

$ ssh localhost

如果在客户端出现下述错误提示,则很有可能是ssh没有安装,或没有运行:

IOperation timed out fatal: Could not read from remote rIepository.git server Could not read from remote repository.

这时候就需要来安装ssh

$ sudo apt-get install openssh-server

然后确认sshserver是否启动了:

ps -e |grep ssh

如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:

sudo /etc/init.d/ssh start
客服端配置

1、生成ssh公钥
Mac和Linux可直接用下面命令生成。

$ ssh-keygen

数次回车之后就会在.ssh/id_rsa目录下生成公钥id_dsa.pub,将其复制到服务器上/tmp/id_rsa.pub,最后只要把它写入 authorized_keys 文件。

cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

2、将本机已有仓库与远程仓库关联

$ mkdir testgit$ cd testgit$ git init$ git add .$ git commit -m 'initial commit'$ git remote add origin git@ip:/opt/git/project.git$ git push origin master

这样就实现了本地仓库与远程仓库的关联。

3、在另一台电脑上可以clone下来

$ git clone git@ip:/opt/git/project.git
Git 服务器演示

1、在Mac端将本地仓库test与服务器端project2仓库关联,test有readme.txt,git服务器的地址为10.211.55.3。

image

readme.txt的内容为

image

2、在Mac客户端克隆仓库到用户目录
image

3、在Windows客服端克隆仓库

image
4、改变readme.txt的内容

image

5、分别在Mac端和Windows端克隆

image

image

关于Git整合代码统计的思考

应该在Git源码中加入监视模块,一旦有新的代码改动push服务器,就会触发器代码统计功能。它会在发生改动的文件夹执行,以此完成此项功能。

0 0