【发布时间】:2020-08-15 05:10:03
【问题描述】:
我目前正在开发一个运行模型的应用程序,一个常见的要求是我们需要将当前模型与具有相同输入的先前版本进行比较。到目前为止,我们为每个生产版本都保留了一份副本,如下所示:
application_base
- v1
- v2
- v3
- 等
作为他们自己的文件夹,并将整个内容推送到存储库。这似乎......不是最好的方法,它会导致每个版本的拉取请求看起来像数百个文件有代码更改,即使它只是几个。我已经看到了几种方法,但它们看起来都很老套,我不可能是唯一一个遇到过这个问题的人,最好的做法是什么?
谢谢。
【问题讨论】:
-
你完全颠覆了 git 和版本控制系统的观点,将版本保存在单独的文件夹中,而不是依赖于提交历史。请在下方回复您的评论,不同的团队可以简单地查看标记版本,就像
git checkout v2.2.1一样简单。他们不需要成为 git 专家。你甚至可以给他们一个 Git 的 GUI 前端。 -
那么在这个用例中不应该使用 git(或至少一个 repo)的答案是什么?这并不灵活,需要在共享服务器上有一个中心位置,其中存在多个版本的应用程序,然后其他团队可以针对其中任何一个版本运行。我无法说服管理层采用需要我们的客户学习足够的 git 以在运行之前检查他们想要的版本的工作流程,他们的技术技能非常有限。我意识到这并不理想,但有时在现实世界中就是这样,我正在努力寻找最不坏的选择。
-
是的,这就是我的回答。如果您按目录进行版本控制,那么为什么要使用版本控制系统? VSC 旨在就地维护版本、跟踪更改并允许您查看以前的版本。如果您正确使用 git(在原地 进行更改并使用
git commit和git checkout),但只为您的客户使用“目录中的发布版本”方法,那么不要使用 git对于后半部分。使用普通文件服务器。开发人员根据需要将新版本复制或同步到它。了解 GitHub 如何允许您发布未存储在 git 存储库中的“版本”。同样的事情。
标签: git version-control version