首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于使用VCS的说明,如Git

关于使用VCS的说明,如Git
EN

Stack Overflow用户
提问于 2009-09-01 19:58:52
回答 2查看 172关注 0票数 3

我了解工作流程的基本原理和工作原理,以及不了解的内容。但是,假设我的linux工作站上有一个本地存储库。现在,我还有一个生产箱,位于远程数据中心的VPS上。如果我想把新代码推到生产环境中,最好的方法是什么?我不想在盒子上有一个Git代码库,它应该只有我的web代码(php/mysql)。

如何在不发送所有文件的情况下将新的更改推送到生产设备?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-01 20:05:48

管理web内容的一种方法是在生产设备上创建一个“裸”存储库。这是一个没有工作副本的存储库。当您想要部署新代码时,您将推送到此存储库以更新它。然后,登录到生产环境,并从裸存储库中拉入您的实际部署目录(也是Git存储库)。

请注意,生产环境中的这两个存储库都不需要被视为“主”存储库;您可以将源代码保存在其他地方,并在需要时直接推送到生产环境。

您需要两个存储库的原因是,Git不支持直接推送到具有工作副本的存储库。Git过去一直允许您这样做(通常会带来意想不到的后果),但较新的版本强烈建议您避免以这种方式推送。

我使用上面的技术来管理一些网站,它工作得很好。一个好处是,如果我真的需要的话,我可以在生产机器上打补丁,在那里提交它,然后将更改拉到我的开发存储库中。以这种方式进行的更改不太可能意外丢失。

票数 4
EN

Stack Overflow用户

发布于 2009-09-01 20:06:35

所以我认为你可能对仓库的工作方式有误解,你的仓库可以放在你想要的任何地方……这真的无关紧要,它甚至可以在github或VPS上。基本原理是,当你工作时,你提交,(使用git,这些提交到本地存储库),当你准备好应用这些更改时,你“推送它们”,这将发送增量(仅对你的代码所做的更改)。

当您准备好在您的生产机器上进行更改时,您将登录到您的服务器,并从您的存储库中提取更改并进行部署(这可能包括重新启动或迁移数据库...这通常被引用为一个食谱)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1364352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档