使用Git管理网站的多个版本的最佳实践是什么?

使用Git管理网站的多个版本的最佳实践是什么?,git,version-control,Git,Version Control,我们目前正在从Subversion迁移到Git。在Subversion中,我们经历了分支的噩梦,完全不清楚如何找到任何东西或同步到哪个分支。基本上,每次我们向生产服务器推出新版本的应用程序时,都会有人创建一个新分支。因此,将有一个名为1457的分支,包含该构建中的所有位。然后,在构建完成后,他们将创建一个名为1458的新分支,并开始在那里进行检查。当构建完成后,我们会将所有内容复制到生产环境中并重复。有时候,会有一些奇怪的子版本,会有一个分支,叫做1457_B之类的。这完全让人困惑 似乎他们也希

我们目前正在从Subversion迁移到Git。在Subversion中,我们经历了分支的噩梦,完全不清楚如何找到任何东西或同步到哪个分支。基本上,每次我们向生产服务器推出新版本的应用程序时,都会有人创建一个新分支。因此,将有一个名为1457的分支,包含该构建中的所有位。然后,在构建完成后,他们将创建一个名为1458的新分支,并开始在那里进行检查。当构建完成后,我们会将所有内容复制到生产环境中并重复。有时候,会有一些奇怪的子版本,会有一个分支,叫做1457_B之类的。这完全让人困惑

似乎他们也希望继续将这个系统与Git一起使用。我认为每当我们发布一个版本时,必须“切换分支”是很烦人的。似乎更好的方法是只拥有一个与当前生产中的任何内容同步的“主存储库”,然后拥有一个带有增量更改的“开发”分支,我可以每隔几天左右推进一次。然后,当构建准备好部署时,将开发分支合并回main并称之为good


我认为他们的论点是,他们希望能够及时看到任何特定构建的信息——这很奇怪,因为我从来没有遇到过这样做的需要。有了Git,是否有更好的方法“标记”时间点,以便您可以快速查看存储库在某个检查点上的状态?在我看来,为每个构建创建一个分支似乎太过分了。我知道这些问题有点模糊,主要是我只是在寻找这个工作流的推荐最佳实践,我相信这是很常见的。

Git支持标记,这些标记要么是指向提交的指针,要么是带有签名、作者和显然是对提交的引用的完整对象

因此,对于每个版本,您都有一个描述特定时间点的标记


您拥有一个主分支和一个开发分支的方法肯定是通常的方法,而不是每个版本都有一个分支。这些分支只有在维护旧版本(例如bug修复)时才会起作用,但这更适用于应用程序的上下文,而不是网站。

我强烈建议调查git标记。使用分支意味着将在这条线上进行进一步的开发。但是,如果他们只想标记发布,那么就创建一个“生产”分支并简单地标记发布。现在,如果他们想同时发布多个版本,分支可能会派上用场。

谢谢,这篇文章非常有用!是的,看起来Git的“标记”机制正是我想要的。。