搭建服务器上的Git并实现自动同步到站点目录(www)
2017-10-24 14:11
246 查看
因业务需要,我需要实现项目的版本控制并在提交代码的时候能将实时更新的代码同步更新到站点目录,折腾大半天,就记录下来,也仅供大家参考
一 、 在服务器上安装Git
验证 git 是否安装成功
git --help,出现下图则安装成功
·
二 、在服务器上创建裸版本库
ps:远程仓库通常只是一个裸仓库(bare repository)--即一个没有当前工作目录的仓库。因 为该仓库只是一个合作媒介,所以不需要从硬盘上取出最新版本的快照;仓库里存放的仅仅是Git的数据。简单来说,裸仓库就是你工作目录中.git子目录的内容。。。
#git init --bare [仓库名] ----创建裸仓库
#git init [仓库名] ---- 创建仓库
三、在本地克隆服务器上的裸仓库
本地已安装 Git Bash , 如果未安装:https://git-for-windows.github.io/
进入本地版本库所在目录(可根据实际情况自定义),然后进行Clone
出现上图情况,即用户权限问题,将仓库文件夹赋予git用户,相关命令如下:
useradd git
passwd git (your pass)
chown -R git:git [仓库名称]
或者是因为本地原有的SSH协议信息失效了,解决方案,清除你当前机器里关于你的远程服务器的缓存和公钥信息
ssh-keygen -R "你的远程服务器ip"
初始化本地仓库,创建本地开发分支 【Git checkout -b newbranch】;
然后就可以进行代码的版本管理了...
四、实现自动同步到站点目录[即使用git的钩子功能]
ps: 使用的是服务端钩子
我们需要两个目录
1、git 服务器仓库目录 : /home/testgit/test.git
2、web站点目录:/www/test
开始配置钩子 Hooks
1> 在仓库目录中新建post-receive,位于/home/testgit/test.git/hooks
2>切换至web站点目录,执行项目克隆
# cd /home/www
# git clone /home/testgit/test.git
3> 编写自动拉取脚本,即post-receivecd,内容如下
保存后赋予可执行权限:
# chmod +x /home/testgit/test.git/hooks/post-receive
4> 修改web目录的权限
ps:因为执行拉取的时候是git用户,所以站点项目目录(/home/www/test)的权限设定为git 用户
5> 配置完成,这样在本地执行git push 代码时,服务
9c27
器代码仓库更新的同时,web站点目录/home/www/test 也会自动执行git pull 同步本地推送
至此,git服务器的安装部署和自动同步Web站点目录就完成了。
一 、 在服务器上安装Git
验证 git 是否安装成功
git --help,出现下图则安装成功
·
二 、在服务器上创建裸版本库
ps:远程仓库通常只是一个裸仓库(bare repository)--即一个没有当前工作目录的仓库。因 为该仓库只是一个合作媒介,所以不需要从硬盘上取出最新版本的快照;仓库里存放的仅仅是Git的数据。简单来说,裸仓库就是你工作目录中.git子目录的内容。。。
#git init --bare [仓库名] ----创建裸仓库
#git init [仓库名] ---- 创建仓库
三、在本地克隆服务器上的裸仓库
本地已安装 Git Bash , 如果未安装:https://git-for-windows.github.io/
进入本地版本库所在目录(可根据实际情况自定义),然后进行Clone
出现上图情况,即用户权限问题,将仓库文件夹赋予git用户,相关命令如下:
useradd git
passwd git (your pass)
chown -R git:git [仓库名称]
或者是因为本地原有的SSH协议信息失效了,解决方案,清除你当前机器里关于你的远程服务器的缓存和公钥信息
ssh-keygen -R "你的远程服务器ip"
初始化本地仓库,创建本地开发分支 【Git checkout -b newbranch】;
然后就可以进行代码的版本管理了...
四、实现自动同步到站点目录[即使用git的钩子功能]
ps: 使用的是服务端钩子
我们需要两个目录
1、git 服务器仓库目录 : /home/testgit/test.git
2、web站点目录:/www/test
开始配置钩子 Hooks
1> 在仓库目录中新建post-receive,位于/home/testgit/test.git/hooks
2>切换至web站点目录,执行项目克隆
# cd /home/www
# git clone /home/testgit/test.git
3> 编写自动拉取脚本,即post-receivecd,内容如下
保存后赋予可执行权限:
# chmod +x /home/testgit/test.git/hooks/post-receive
4> 修改web目录的权限
ps:因为执行拉取的时候是git用户,所以站点项目目录(/home/www/test)的权限设定为git 用户
5> 配置完成,这样在本地执行git push 代码时,服务
9c27
器代码仓库更新的同时,web站点目录/home/www/test 也会自动执行git pull 同步本地推送
至此,git服务器的安装部署和自动同步Web站点目录就完成了。
相关文章推荐
- 搭建服务器上的GIT并实现自动同步到站点目录(www)
- 搭建服务器上的GIT并实现自动同步到站点目录(www)
- 搭建服务器上的GIT并实现自动同步到站点目录(www)
- 搭建服务器上的GIT并实现自动同步到站点目录(www)
- centos6.8 git到服务器搭建自动同步到站点目录
- 在Centos7上搭建SVN服务器并实现自动同步至web目录
- Centos7上搭建SVN服务器并实现自动同步至web目录
- Centos7上搭建SVN服务器并实现自动同步至web目录
- git推送到服务器自动同步到站点目录
- Centos7上搭建SVN服务器并实现自动同步至web目录
- Centos上搭建SVN服务器并实现自动同步至web目录
- 搭建服务器svn,git 并自动同步(两篇全了)
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- Windows平台下结合 tortoiseSVN 和 VisualSVN Server 搭建SVN服务器并实现 web 站点同步
- Centos7上搭建SVN服务器并实现自动同步至web目录
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(www)
- centOs6.5 SVN 服务器搭建并实现提交自动同步到web服务器
- CentOS6.8 搭建SVN并用钩子自动实现同步到web目录
- 搭建Git服务器/Centos服务器git升级/git上传服务器自动同步
- [置顶] 本地git仓库推送到服务器自建的git仓库实现目录文件同步教程[自整理]