包含多个项目发布版本的 Git (EGit) 存储库的组织

Posted

技术标签:

【中文标题】包含多个项目发布版本的 Git (EGit) 存储库的组织【英文标题】:Organization of Git (EGit) repository containing multiple project release versions 【发布时间】:2013-09-05 16:34:33 【问题描述】:

问题:在 Git (EGit) 存储库中存储 Eclipse 项目的独立发布版本有哪些推荐的方法?

问题:我一直在创建一个新的 eclipse(python 或 'pydev')项目,每次我想将其区分为新版本(所以我的项目是 project_0-0-1,project_0 -0-2, ..., project_9-9-9)。我开始怀疑 git 可能比我想象的更复杂(并且在发布版本之间有更简单、更有条理的存储方式。有吗?

详细信息:我对如何使用 Eclipse egit 进行设置特别感兴趣。如果答案包括简短的“操作方法”(在 gui 中单击哪些按钮),那就太好了。我对 egit 非常擅长,但与任何被标记为“精通”的东西相去甚远。另外,我主要是在寻求建议 - 任何想法都非常感谢。

研究:

我看到有些人暗示 git 真的不适合这个(它是版本控制而不是项目管理软件):

Versioning and release management with multiple products with shared code base

否则,我会在分支中存储不同的版本吗?如果我不小心点击了“合并”,这很诱人但很可怕(尽管这很容易逆转)。我认为这就是下面的链接所暗示的:

Branch/master tag revision increments using Git

Git tag release version?

【问题讨论】:

【参考方案1】:

你应该使用 git branch,在 Git 中分支很容易和无痛。您可能曾经使用过 CVS/SVN?分支复杂而可怕的地方。您可以随时 git checkout 任何过去的提交(从而将工作目录“恢复”到过去的任何状态)

当您的软件达到稳定状态时,您想将其标记为发布,只需在提交中添加一个标签(例如v1.3)。然后你可以通过git checkout v1.3切换到那个版本

Eclipse EGit 并不是最好的 GUI。我建议使用一个名为 SourceTree 的软件。它提供了 Git 提交图的良好可视化,并且非常易于使用。两者不应该有任何冲突,可以同时使用。 (虽然我建议学习命令行 git :)) 希望这会有所帮助。

【讨论】:

在这种情况下,版本标签对应于该仓库中的所有项目?谢谢! 我想我的第一条评论的后续问题是:项目通常是否分成单独的存储库(然后可以将标记用于整个存储库提交)?当你有大量的小项目并且有些有依赖项时怎么办?这就是为什么我每次发布新版本时都会创建一个新项目的例行公事——这样旧项目仍然可以引用旧版本。

以上是关于包含多个项目发布版本的 Git (EGit) 存储库的组织的主要内容,如果未能解决你的问题,请参考以下文章

使用 EGit 添加现有 git 存储库的问题

如何让 EGIT 识别一个 Eclipse 项目中的两个 Git 存储库?

Egit:右键单击不显示 GIT 命令

EGit 的“自动共享位于 git 存储库中的项目”选项是啥意思?

如何将移动的 git 存储库与其在 Egit 中的原始项目重新连接?

eclipse egit(版本回退)