一个Git仓库中有多个Netbeans项目

5
我们(5个开发人员)已经多年在一个项目上工作,该项目由两个Netbeans项目组成:
  1. 核心,C++(1名主要开发人员,3名辅助人员,我稍后将加入)。该核心可以通过命令行独立运行。
  2. GUI,Java(目前只有我)。通过JNI层调用核心功能或调用从核心构建的可执行文件。
我们已经达到了使用版本控制的阶段。团队中没有人有任何(彻底的)经验,但我(一个完全的新手)被指派调查和培训团队。我做了很多研究,决定使用Git,现在正在尝试找出最佳工作流程和基础架构。
我认为整个项目只需要一个存储库,因为我们习惯于将版本号和发布说明同步,换句话说,如果核心或GUI更新,则整个系统将作为新版本发布到生产环境中。我想只有一个存储库可以大大简化这个过程。
现在我的问题是:是否可能在一个Git存储库中有这两个单独的Netbeans项目,并且仍能充分利用Netbeans' Git支持,还是必须采取两个存储库的方法?
当仅通过命令行使用Git时,我没有看到任何问题,但对于我们的团队,使用Git(还)必须通过Netbeans进行,据我所知,一个Netbeans项目等于一个Git存储库...
2个回答

7
简而言之,如果您想在单个Git存储库中拥有多个项目,则需要创建并使用单个本地git存储库来跟踪您要同时跟踪的这些项目。
例如,您希望在一个“solution”存储库中拥有两个项目“mavenproject1”和“mavenproject2”。为了实现这一点,您需要:
1. 在一个根目录(在我们的例子中是“solution”)中创建这两个项目。 2. 在初始化第一个项目的本地git存储库时,选择该目录作为根路径。 3. 之后,这两个项目将显示它们有待提交的更改。 4. 按顺序将这两个项目提交到本地存储库中(对于每个项目,执行“项目-> git-> commit”)。 5. 推送更改到远程。 6. 完成 - 您现在在单个存储库中拥有两个项目。

2
Git不关心是Netbeans项目、文件还是文件夹。 Git只跟踪文件的更改。
请注意,Netbeans只是一个辅助工具。它并没有以任何方式贡献于您的业务逻辑。您也可以使用任何其他文本编辑器来编辑/修改代码,并且它的工作方式也是相同的。
因此,回答您的问题:
“是否有可能在一个Git存储库中拥有这两个单独的Netbeans项目,并仍能充分利用Netbeans的Git支持,还是说2个存储库是唯一的解决方案?”
是的。您可以在单个git存储库中拥有2个或任意数量的netbeans项目。但这将是一个可怕的选择。您将无法独立跟踪每个项目的版本。
您应该为每个项目创建一个单独的git存储库。

当然,使用Netbeans或任何其他编辑器本身并不会造成问题,但是您可能错过了我问题的一小部分。我们想使用Netbeans的内置Git功能。据我所知,1个netbeans项目等于1个git存储库;这就是我的问题的来源 :) 此外,这2个项目并不是没有关联的。开发相当独立,但GUI实际上无法在其背后没有核心的情况下正常运行。 - Q-BiC
我同意在大多数情况下使用单独的git存储库,但如果用户有一堆实验性的NetBeans项目,并且不关心它们的未来,那么将它们保留在一个存储库中是很好的选择。一个很好的例子是当你希望这个实验性的存储库可以在家和工作中都被使用,并且你想要在那里拥有最新的文件... - DejanLekic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接