如何将git服务器同步到本地文件夹,使用git在服务器上部署git仓库并实现提交代码时同步代码到生产环境...
最近由于需要对正在运行的系统进行新功能添加,本来是可以通过github进行代码维护,但是由于这个项目涉及一些问题,目前还不能开源,所以只能是手动覆盖bug文件,生产环境上的代码反而是最新的了。
之前有个思路,就是将git仓库部署到生产环境所在的服务器中,今天做了一下尝试,效果还不错,特意再次做出总结。具体实现的目标就是:
使用git在服务器上部署git仓库并实现提交代码时同步代码到生产环境,参考这里棒棒哒.废话少说,进入正题。
首先,需要在服务器上安装git,这里就不再罗嗦,不会装的,出门左转点击这里。
以下代码命令和代码实例中说明一下几点:
所有服务器上的操作,为了避免遇到权限的问题,是直接进入su超级用户下的操作。
创建的项目名为my_site。
在服务器上,我选择将仓库创建在/var/下,生产环境项目代码放在/projects/my_site/。阅读者可以自行更改,但是需要记住更改后的路径。
为了隐私,实例的服务器ip用serverhost代替,用户用user代替。
在服务器上创建git仓库
我选择在/var/下创建:
mkdir git && cd git
mkdir my_site.git && cd my_site.git
git init --bare
--bare的意思是,该文件夹是我们的代码仓库,它将不会放源代码而只是做版本控制。
创建钩子
将会使用post-receive钩子,更多相关的信息可以参考官方文档。
ls
可以看到hooks已创建,而且里面也有各种钩子的样例。
11.jpg
创建我们自己的post-receive:
cd hooks
vim post-receive
在post-receive中需要同步的语句
#!/bin/sh
git --work-tree=/projects/my_site/ --git-dir=/var/git/your_site.git checkout -f
编辑完成之后保存。
将git仓库设成可读写的:
chmod 777 -R *
如果生产环境项目所在目录/projects/my_site/不存在,要记得创建,同时让其的权限成为任何人都可读写!
mkdir /projects/my_site/
cd /projects/ && chmod 777 -R *
服务器上的仓库和同步钩子配置到此完毕,下面需要我们在本地编写项目并上传至服务器仓库。
本地项目推送
一般情况是你已经有了自己的git项目了,那么只需要添加仓库地址就行了。
git remote add server ssh://user@serverhost/var/git/my_site.git
'server'只是这个远程连接的名称,你可以同时有多个远程连接,每次push的时候指定名称即可将代码上传到不同的仓库。
如果你本地还没有项目代码:
cd my_site
git init
git add *
git commit -m "commit"
git remote add server ssh://user@serverhost/var/git/my_site.git
git push server master
master指定的是master分支,如果你有其他分支也可以push其他分支。
补充:
我们也可以从git仓库中clone代码到本地:
git clone ssh://user@serverhost/var/git/my_site.git
--
如何将git服务器同步到本地文件夹,使用git在服务器上部署git仓库并实现提交代码时同步代码到生产环境...相关推荐
- outlook邮箱邮件与企业邮箱同步(outlook本地文件夹邮件,web邮箱里没有)
用惯了outlook2010, 问题:今天将邮件放到自定义文件夹后,发现在web邮箱中看不到邮件了.不能同步到企业邮箱. 解决忙了一天,才知道是账户类型问题,pop3类型,只下载不上传.所以outlo ...
- 云服务器连接手机本地文件夹,云服务器连接手机本地文件
云服务器连接手机本地文件 内容精选 换一换 怎样上传文件到Windows操作系统云服务器?安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe. ...
- 码云上传本地文件夹,码云只能上传20个文件的突破方法
码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...
- 码云上传文件夹_码云上传本地文件夹,码云只能上传20个文件的突破方法
码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...
- 服务器怎么解压文件夹,怎么在云服务器上解压文件夹
怎么在云服务器上解压文件夹 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 该任 ...
- ftp服务器共享不了文件夹权限设置密码,ftp服务器共享文件夹权限设置
ftp服务器共享文件夹权限设置 内容精选 换一换 Linux x86-64(64位)服务器,常见的有EulerOS.Ubuntu.Debian.CentOS.OpenSUSE等.Windows 7及以 ...
- 英灵神殿服务器本地文件夹,Valheim英灵神殿服务器搭建教学[多图]
Valheim英灵神殿推出有一段时间了,很多玩家都忙于饲养打boss,然而有时主机玩家不在线,没有办法去平时一起玩的世界,那么这次就为大家带来了最简单的服务器搭建教程. Valheim英灵神殿服务器搭 ...
- 服务器里没有wwwroot文件夹,完美解决IIS 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没......
现象: 浏览ASP页面提示 500内部错误 事件查看器中: [1]: 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'.错误是 '没有注册类别'. 有关此消息的详细信息,请访问 Mic ...
- 服务器文件夹和电脑文件夹同步软件哪个好,windows文件同步备份软件-文件夹同步工具哪个好?...
曾有个客户致电询问自己一些重要的数据保存至D盘文件夹内,但是这些文件经常会改动,每次都是的手动复制粘贴至移动硬盘备份保存,有没有什么工具可以实现一键同步备份?今天就给大家介绍windows文件同步备份 ...
最新文章
- java 打电话_第四十二篇----拨打电话
- UIImage的scale
- 做网站应用应注意的那几点
- ssh,scp带密码操作
- 【常见笔试面试算法题12续集三】动态规划算法案例分析3 LIS练习题(最长上升子序列)
- 用vector编写一个矩阵模板
- php 同步文件到服务器上,PHPstorm配置同步服务器文件
- 《羊了个羊》创始人被母校制成展牌
- SSD硬盘的寿命测试
- 2021年N1叉车司机免费试题及N1叉车司机模拟试题
- Python基础知识从hello world 开始(第三天)
- 从零学物联网技术:较大影响了我们生活的物联网技术应用有哪些?
- scrapy爬虫实战:伪装headers构造假IP骗过ip138.com
- 嵌入式linux检测U盘拔插
- 大数据社会的十三大具体应用场景(二)
- 论文引用部分是否需要查重?
- 如何撰写出优秀的技术文档
- Thread.interrupted()与Thread.isInterrupted()的区别
- Redis启动和连接
- 联想LJ2400激光打印机开机4灯闪烁维修分析