使用git拆分项目的产品版本的最佳实践是什么



我正在处理一个项目,该项目有两个存储库,即前端存储库和后端存储库。

我还为我的同事开发了一个测试环境来测试我发布的每一个功能/bug。

我目前的问题是,我需要在两个存储库上构建一个不同于旧提交的版本。因此,我想到的是将每个项目克隆到一个新文件夹中,签出到特定的提交,从该提交创建一个新分支,然后从新分支而不是"master"构建一个新版本。

重要的是,我只是在学习如何使用git,所以我想确保我理解我对任何问题的不同选择。

提前感谢您的回答。

正如@Casper Bang所建议的,我正在添加更多关于我的情况的信息:

正如我所提到的,我一直在开发一个在IIS服务器上运行的程序。

我从第一天开始就在开发软件,没有任何主管会为不同的情况争论最佳实践。由于事情进展迅速,上市时间需求很高,我与一家分公司进行了开发,并在自己的电脑中构建了每一款产品。随着程序的扩大,我创建了一个Jenkins管道,以确保创建的每个版本都是通过特定的流构建的。然后,我设法使用了功能分支,使其更加向后兼容->每次我想制作一个产品时,我都会将每个分支合并到master中,以创建更有组织的版本。

因此,目前的问题实际上是这些功能并没有完美地工作,因为我的同事们拒绝了一些功能。然而我在接下来的几天里,确实需要在最新的生产版本的基础上创建一个新版本,并进行一个微小的修复,即"临时版本"。这样,我就可以很快发布这个版本,并在开发新版本的同时将其拆分,使其变得更好。因为修复程序大约有2行代码,我可以确保手动将它们添加到Quick PRODUCTION版本中。

我认为同样重要的是,自上一个生产版本以来,有5个不同的分支合并到master,并且在每个存储库中都合并到当前的master分支。

我正在处理一个项目,该项目有两个存储库,即前端存储库和后端存储库
我目前的问题是,我需要在两个存储库上构建一个不同于旧提交的版本。

我建议创建第三个";"父";repository,在其中您可以将前端和后端存储库项目添加为子模块

子模块是对另一个存储库的固定提交的引用,这意味着您可以修改父repo,以便从这两个项目中签出所需的确切提交。

有一百万种不同的解决方案。退一步看,还可以争论两个强相关的系统应该是一个还是两个git存储库。

测试环境托管在哪里?怎样如果您使用git-flow,那么您只需要一个staging/dev分支,该分支的负责人应该相互关联并协同工作。和/或至少是生产部门。您还可以根据您的基础结构,简单地向您使用的任何集群/容器化环境发布一个特定的提交版本,然后发布这两个版本。我认为,如果你在做";对";,这个问题与git的关系不大,但更多地与实际环境有关。更重要的是,我想说,你的主分支中永远不应该有与相关项目的主分支不兼容的代码。如果某个东西不能向后移动,你应该等待合并,直到其他东西都跟上速度。

当你提到你是git的新手时,我想你是否也是开发的其他方面的新手。所以,也许可以分享一些关于你设置中其他一切的话(即添加到你的帖子中(。我希望你不是简单地把SSHing变成一个服务器,然后改变分支,然后做这样的发布。

相关内容

最新更新