搭建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。
readme.txt的内容为
2、在Mac客户端克隆仓库到用户目录
3、在Windows客服端克隆仓库
4、改变readme.txt的内容
5、分别在Mac端和Windows端克隆
关于Git整合代码统计的思考
应该在Git源码中加入监视模块,一旦有新的代码改动push服务器,就会触发器代码统计功能。它会在发生改动的文件夹执行,以此完成此项功能。
- Git服务器 - 搭建git
- Git 搭建Git服务器
- Git之搭建Git服务器
- git教程 搭建GIT服务器
- 自定义Git - 搭建Git服务器
- git服务器搭建
- git服务器搭建
- git服务器搭建
- git服务器搭建过程
- git服务器的搭建
- git服务器的搭建
- git服务器搭建
- git服务器搭建过程
- git服务器的搭建
- 搭建git服务器
- ubuntu搭建Git 服务器
- Git服务器搭建
- git服务器的搭建
- [置顶] 【转载】ACM感悟
- 代码行数统计
- Shader山下(二十四)相机深度纹理
- YAML 语言教程
- 线段树
- 搭建Git服务器
- leetcode:442. Find All Duplicates in an Array
- android自定义路径的属性动画
- 【解惑】深入jar包:从jar包中读取资源文件
- 路由器的串口(serial)和以太口的区别
- 微信小程序开发教程(基础篇)5-index 页面解析
- shiro 配置首先访问地址
- HashMap和HashTable的选择
- Ubuntu中安装JDK