一服务器端
1、检查git
which git
安装
yum install git
2、创建git用户,密码git,运行git服务
useradd git
passwd git
su - git
cd ~
mkdir .ssh
3、创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
centos 执行 ssh-keygen -t rsa -C "youremail@example.com" 生成公私钥文件
window 可通过gitbash 来生成 window客户端下载地址
https://git-for-windows.github.io/
4、创建空的仓库
mkdir gitrepo
cd gitrepo
mkdir learngit.git 一般以.git结尾
cd learngit.git
git --bare init
为了不使开发者每次clone代码的时候都输入ip地址,可以采用DNS的方式。具体操作如下
sudo vi /etc/hosts
在里面加入下面一行
192.168.137.134 gitserver
二
开发者端A
1、安装git,windows下载https://git-for-windows.github.io/,centos7 yum install git , ubt apt-get install git 这些系统的用户目录生成了公私钥,把.pub文件,给服务器端
2、
mkdir gitrepo
cd gitrepo
mkdir learngit
cd learngit
git init 初始化仓库
vi readme.md
添加内容 firstlocalgitservertest1
git add readme.md 加到暂存区
git commit -m "gitservertest" 提交
git remote add origin git@192.168.137.134:/home/git/gitrepo/learngit.git 关联远程仓库
git push -u origin master/git push origin master 第一次推送到远程仓库/以后推送
开发者端B
1、安装git
2、mkdir gitrepo
cd gitrepo
git clone git@192.168.137.134:/home/git/gitRepo/learngit.git learngit 克隆服务端仓库到本地
cd learngit
vi readme.md
增加 secondlocalgitservertest2
git add readme.md 加到暂存区
git commit -m "gitservertest2" 提交
git remote add origin git@192.168.137.134:/home/git/gitrepo/learngit.git 关联远程仓库
git push -u origin master/git push origin master 第一次推送到远程仓库/以后推送
回到开发者端A
更新
git pull
验证下是否能否更新
三问题
1、出于安全考虑,禁用git用户的shell登录
sudo vi /etc/passwd
修改git的bash 从/bin/bash改为/usr/bin/git-shell
参考
http://blog.chinaunix.net/uid-28621021-id-3487552.html
http://www.centoscn.com/image-text/install/2014/0514/2972.html