社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

在远程存储库中使用Git的正确方法是什么?

Lightspeed • 5 年前 • 1503 次点击  

我们有一个由3名程序员组成的团队,以及一个通过FTP客户机上传和下载文件的专用服务器。我们正在编辑大肠杆菌,我立刻想到了Git。但在我当前的设置中它是如何工作的呢?见下文:

现在,该服务器上有两个远程目录。一个是我们应用程序的生产环境,另一个是开发环境。我们编辑和添加新闻文件,在线测试,当更新到期时,我们将所选文件移动到生产环境中。这很容易理解。

有了Git,我如何才能对存储库进行分支,进行我需要的更改,并且仍然能够在同一个服务器环境中测试它?我想Git会分支到我的本地机器上。在合并之前,我需要确保在相同的基础结构上进行测试。

感谢您的帮助,并为这篇长文章感到抱歉。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38535
 
1503 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Will Bickford
Reply   •   1 楼
Will Bickford    6 年前

听起来是Git的一个很好的用例。要记住的一点是Git是一个分布式版本控制系统。每个开发人员都有自己的存储库,在将工作发布到生产环境之前,您需要在其中设置一个集中的“源站”存储库,在那里共享工作。

下面链接的是一个流行工作流的介绍:Gitflow。要记住的主要一点是,您需要在源代码历史记录中标记特定的点以进行测试,然后在测试成功后才将这些更改合并到master中。

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

建议的分支设置

为一个3人的团队简化Gitflow,您可能需要从两个分支开始:一个分支用于要生成的每个环境 建造 为了。

  • master=>生成部署到生产环境中
  • dev=>生成部署到测试

样本更新程序

下面的步骤概述了一种发布到测试和生产环境的方法。

  • 将更改提交到 dev 把它们推到原点
  • 开发完成后,标记 DEV 带版本的分支(例如 dev/1.0.0 )
  • 将该提交推送到测试环境并验证它
  • 如果测试通过,则合并 偏差/1.0.0 master ,生成并部署到生产环境中
  • 如果测试失败,请使用上面的步骤处理另一个修复。
  • 你可能最终会合并 dev/1.0.2 例如,在下一次正式部署之前
  • 当你推动生产,标签 master/1.0.2 所以你知道它已经上线了

通常,您的生产环境应该通过不直接涉及Git的部署过程进行更新。您将需要设置一个从存储库中的特定标记版本部署代码的构建。您可以对该部分使用现有的FTP更新过程。

阅读材料

这里有更多的链接可以开始。希望这有帮助!

VonC
Reply   •   2 楼
VonC    6 年前

服务器上远程回购的常见最佳实践是:

  • 一个空的回购(意味着您不使用ftp文件,而是强制提交这些文件)
  • 唯一(不需要两个回购)
  • 带有一个接收后挂钩,能够检测到正在推送的分支( as I did here )
  • 用一个 git checkout --force 将裸露的repo内容转换为专用的工作树( as in here )

这样,您就有两个分支,每个分支都被推到远程服务器上的裸repo,这将触发同一服务器上专用工作树(每个分支一个)的更新。
一旦 dev 分支已验证,它可以合并到 master 将分支推送到同一个裸回购,并触发目标工作树的更新。