搭建Git服务器

搭建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 ./objects
remote: fatal: failed to write object
error: 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值