0

首先,我们所有的项目都是 .Net C# 项目。

我需要一些关于设置本地和存储库结构的最佳方法的建议。

我们有一个主要项目作为我们所有项目使用的核心库。我不一定希望拥有一个包含多个项目的存储库,但我确实希望我的其他项目能够访问主库的项目。出于组织目的,我希望将每个项目都放在自己的存储库中。

我知道我应该在我的本地系统上做些什么来实现这一点,但我想在开始设置我的项目之前获得社区的意见。

更新

布拉德利建议的非常相似,我采用了类似的结构:

All Projects Folder
     Core Project
     Another Project
     Yet another Project

使用GitHub for Windows,您可以使用该Clone To功能将本地存储库放置在主项目文件夹中。因此,在此示例中,我将从 GitHub for Windows 中选择远程存储库,右键单击要克隆的远程存储库并选择克隆到。我会选择“所有项目文件夹”来放置我的代码。这将为您创建文件夹和项目结构。然后,其他项目可以通过使用该结构中的相对路径来相互引用。我发现使用Git Source Provider for Visual Studio 2012 也有助于查看项目之间的所有未决更改。

4

2 回答 2

1

你可以create and publish a NuGet package退出这个主项目,然后让其他项目简单地安装这个 NuGet。这样,其他人也可以在他们的应用程序中使用这个常见的 NuGet。

于 2013-02-03T16:08:10.467 回答
1

假设您要将代码分成多个存储库,将一个存储库作为另一个存储库的依赖项的一种方法是使用git submodules

我个人发现子模块在日常使用中有点痛苦。(例如,git checkout在切换分支时不会自动更新子模块;开发人员经常在添加所有内容之前忘记回滚子模块git submodule update等)

因此,我们更喜欢“约定优于配置”的方法,并且简单地将所有必要的存储库克隆为彼此的兄弟姐妹。当对两个 repos 进行更改时,您只需提交并推送两个 repos,并假设其他开发人员正在跟踪master两个 repos 中的分支并将同时拉取两者。

很容易编写一个 bash 脚本或批处理文件来在新机器上进行设置,或者在现有机器上一次更新所有 repos。

有关更详细的示例,请参阅我的“跨项目共享代码”博客文章。

于 2013-02-03T18:37:45.757 回答