GIT服务器配置及同步站点目录

公司目前用的是SVN,一些同事经常提交产生冲突,加上自己对SVN的不熟悉,经常把别人写的代码给干掉了。现在准备用GIT,他们之间的区别在这里不细说了,一个是集中式的,一个是分布式的。

一.GIT安装

1.安装GIT服务

wget wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/git-core/git-1.9.0.tar.gz
tar zxvf git-1.9.0
./configure
make && make install

安装好后,我们查看一下是否安装成功

git --version

结果应该是:git version 1.9.0,表示成功

2.建立仓库

adduser git               ----建立git用户
cd /
mkdir gitwork             ----在根目录下建立git仓库
chown -R git:git gitwork  ----更改gitwork目录权限;本条和前面三条命令都是root用户执行
su git                    ----切换到git用户
cd /gitwork               ----切换到gitwork目录,如果一步一步的来的话,其实不用切换
git init --bare pmwork.git----初始化空的 Git 版本库于pmwork
cd                        ----切换到git用户主目录 
mkdir .ssh                ----建立.ssh目录
chmod 700 .ssh            ----设置权限,不然后面提交不了
cd .ssh                   ----进入.ssh目录
touch authorized_keys     ----创建authorized_keys文件,这里放公钥的
chmod 600 authorized_keys ----设置权限

3.密钥和公钥的建立

建立密钥后,后面git提交就不用输入用户名和密码

在客户端下载puttygen,本地客户端是win10,git客户端已经安装过了,直接下一步下一步就可以完成

a.puttygen下载地址

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

下载:https://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

b.双击打开puttygen

鼠标要puttygen软件上不停的动,才可以。这可能是这个软件的作者开的玩笑

GIT服务器配置及同步站点目录_第1张图片

把生成的公钥放到authorized_keys文件中

vi authorized_keys

c.私钥

直接点击按钮即可

GIT服务器配置及同步站点目录_第2张图片

保存到本地,名字叫git2.ppk,到时候git clone的时候会用到

d.客户端克隆

GIT服务器配置及同步站点目录_第3张图片

这里git服务器与git客户端安装介绍完毕。

二.GIT同步到站点目录

有时候,我们希望本地提交的文件直接在站点目录显示,这是可以的。svn里也有同样的功能,一个叫做钩子的功能

su git                      ----切换到git用户
cd /git/pmwork.git/hooks    ----进行仓库hooks文件下
vi post-receive             ----添加以下内容,--work-tree=是你站点的目录,切记
#!/bin/bash
git --work-tree=/www/lockcom checkout -f
chmod +x post-recive        ----设置钩子文件可执行权限

通常到此应该会成功,不过往往不同目录权限,导致提交上去的文件不能同步到站点目录,所以要更改权限。可以把用户权限统一设置一下,这样就不会造成权限问题

这里的站点目录用户是 apache,所以要把apache组给git用户

 usermod -a -G git apache

更改站点目录权限,通用775就可以,不过我在本地测试了,不可以,改成777就可以~

chmod -R 777 /www/lockcom

这样你进入站点目录,应该可以看到你提交的文件!

你可能感兴趣的:(GIT服务器配置及同步站点目录)