[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/
再次執行推送命令便可。