包含多个项目发布版本的 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 识别一个 Eclipse 项目中的两个 Git 存储库?
EGit 的“自动共享位于 git 存储库中的项目”选项是啥意思?