首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GIT和项目的不同版本:最佳实践是什么?

GIT和项目的不同版本:最佳实践是什么?
EN

Software Engineering用户
提问于 2013-11-23 10:19:28
回答 2查看 1.7K关注 0票数 4

我在使用GIT作为版本控制系统方面非常新,尽管进行了大量搜索,但我似乎无法真正理解如何处理我的场景。

我有一个网络项目,需要在两个版本中开发:

  • 第一种是用于演示的通用版本。
  • 第二个是为我的客户定制的版本。

目前,第二个版本在次要的方面有所不同,主要是品牌(即图标、一些标题)和数据库连接。

这样做的目的是通过客户端提供的建议和实际用例来增强其代码,并且,随着我们使用but和新特性的进展,将更改移植到“通用/无品牌版本”--但保持这些微小的差异。

在未来,“通用”版本可以通过一些独立的特性进行分叉和增强。

分支是否是处理此场景的有用方法?我认为他们不是,因为(至少我也理解)他们更倾向于在短期或中期内进行重组。

EN

回答 2

Software Engineering用户

发布于 2013-11-23 15:00:49

请看这里:

https://stackoverflow.com/questions/19840921/override-configured-user-for-a-single-git-commit/19841122#19841122

虽然这个问题有点不同,但我和其他人提供的答案解释了如何创建同一个系统的两个单独/本地git版本。

基于您要做的事情,我会想到一个“主/从”场景,其中演示(=Master)是完成大部分工作的地方。然后,您可以将演示转到一个单独的文件夹中,并在该文件夹上运行git,在该文件夹上可以对其进行工作(这意味着您需要在每个正在进行工作的自定义文件夹中看到.git )。

现在,当您对演示进行更新并希望在您的“从”自定义工作中看到这些更新时,您将需要将新的“主”与自定义工作(=奴隶)文件夹上的“从”合并。

这条路:

  • 演示项目始终是一个演示。
  • 自定义工作是分开的
  • 您可以创建任意多个不同的习惯,每一个都有自己的版本控制。
  • 您可以将更新后的演示工作合并到每个自定义中,而不需要混淆核心演示(您需要记住并学习如何合并到从属服务器上)。

请看这段使用git:http://vimeo.com/46010208的视频

有一次有人把它交给我学习,我发现它非常有用,这就是为什么我要把它介绍给你。

票数 3
EN

Software Engineering用户

发布于 2013-12-14 14:28:03

推/拉和叉.

考虑了一段时间后,我认为“分叉”模式--使用一个针对您希望迁移的特定特性的推挽系统--可能是您的最佳选择。

正是这种模式被大型开源社区所使用,以获得一个单一的“主”(正式副本?)还有许多开发分支/repos等。

只使用git就可以做到这一点(例如添加上游遥控器)。但是,在Github中这样做非常容易,因此为了简单起见,我将只描述Github工作流。

设置:

  1. 创建“主”存储库
    • 这是你的“打磨”/“演示副本”

  2. 您'分叉‘这个存储库
    • 这是你的“开发”拷贝

开发工作流:

您可以在第二个存储库中进行开发,然后当您准备将特性“推送”到‘演示’存储库时,您可以从您的开发回购(包含所需的更改)向演示回购提交一个拉请求

分支机构?

然而,这一切都可以通过分支来完成,至少在我看来,我更愿意保持这两者更加清晰。

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

https://softwareengineering.stackexchange.com/questions/219303

复制
相关文章

相似问题

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