一服务器端html
一、检查gitgit
which git
安装
github
yum install git
二、建立git用户,密码git,运行git服务shell
useradd git passwd git su - git cd ~ mkdir .ssh
三、建立证书登陆:windows
收集全部须要登陆的用户的公钥,就是他们本身的id_rsa.pub文件,把全部公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。centos
centos 执行 ssh-keygen -t rsa -C "youremail@example.com" 生成公私钥文件安全
window 可经过gitbash 来生成 window客户端下载地址bash
https://git-for-windows.github.io/
四、建立空的仓库服务器
mkdir gitrepo cd gitrepo mkdir learngit.git 通常以.git结尾 cd learngit.git git --bare init
为了避免使开发者每次clone代码的时候都输入ip地址,能够采用DNS的方式。具体操做以下ssh
sudo vi /etc/hosts
在里面加入下面一行
192.168.137.134 gitserver
二
开发者端A
一、安装git,windows下载https://git-for-windows.github.io/,centos7 yum install git , ubt apt-get install git 这些系统的用户目录生成了公私钥,把.pub文件,给服务器端
二、
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
一、安装git 二、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
验证下是否可否更新
三问题
一、出于安全考虑,禁用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