[TOC]php
yum install curl-devel expat-devel gcc gcc-c++ yum install perl perl-devel gettext-devel openssl-devel zlib-devel
# 下载Git wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz # 解压 tar zxvf git-2.9.5.tar.gz cd git-2.9.5 # 预编译、编译、安装 make configure ./configure --prefix=/usr/local/git make && make install
vim /etc/profile export PATH="$PATH:/usr/local/git/bin" source /etc/profile # 使修改当即生效
建立一个git用户组和用户,用来运行git服务:c++
groupadd git useradd git -g git
收集全部须要登陆的用户的公钥,公钥位于id_rsa.pub文件中,把咱们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。git
若是没有该文件须要建立它:shell
cd /home/git/ mkdir .ssh chmod 755 .ssh touch .ssh/authorized_keys chmod 644 .ssh/authorized_keys
那么如何在本身的客户端生成公钥呢?vim
若是是windows电脑能够打开Git客户端,若是是Mac能够打开Mac自带的终端,执行以下命令windows
ssh-keygen -t rsa -C "你的邮箱" //例如ssh-keygen -t rsa -C "xxx@gmail.com"
上面的命令执行成功后,经过以下命令获取公钥服务器
cat ~/.ssh/id_rsa.pub
终端工具会把公钥打印出来,复制公钥,填入服务端的authorized_keys便可ssh
首先咱们选定一个目录做为Git仓库,假定是/home/gitrepo/blog,在/home/gitrepo目录下输入命令:curl
cd /home mkdir gitrepo chown git:git gitrepo/ cd gitrepo git init --bare blog.git # 执行完会有以下提示 Initialized empty Git repository in /home/gitrepo/blog.git/
以上命令Git建立一个空仓库,服务器上的Git仓库一般都以.git结尾。而后,把仓库所属用户改成git:工具
chown -R git:git blog.git
git clone git@192.168.111.129:/home/gitrepo/blog.git # 或 git clone ssh://git@192.168.111.129:22/home/gitrepo/blog.git //版本库地址,支持ssh协议
注意:若是此处提示git-upload-pack: command not found
,能够在版本服务器上使用 命令
ln -s /usr/local/git/bin/git-upload-pack /bin/
而后从新执行git clone 成功拉取项目后,就能够在本地编辑提交了
touch index.php git add index.php git commit -a -m'提交index.php文件' git push origin master //推送到公共服务器
在执行push命令式,若是报 git-receive-pack: command not found
错误,则再建立一个软链接便可
ln -s /usr/local/git/bin/git-receive-pack /bin/
再次执行推送命令便可。