在git存储库中管理导入的子树

时间:2016-07-20 08:41:47

标签: git repository gitlab code-organization git-subtree

tl,博士版本:

通过" git子树添加&#34>是否可以预期将代码添加到repo中在那个(服务器端)repo中显示它好像是作为常规文件添加的?文件是显示副本还是(如所希望的)只是一个参考?

完整版:

我对git很陌生(以前过度使用SVN和Perforce,但在我的新工作中,我们现在正在使用gitlab)并且最近决定将我现有的部分代码移出软件项目的存储库到一个单独的仓库,因为这似乎在结构上更有意义。 确切地说,我删除了一个文件夹' Infrastructure'来自我当前的项目(通过" DynamicDisplays')通过"子树拆分"。

我遵循了这些指南

据我所知。

我删除并重新添加了" DynamicDisplays" GitLab项目(他们的服务器端存储库的扩展版本。我还没有通过git&#39的术语快速编写)

git subtree add --prefix=Infrastructure Infrastructure master

如教程中所述。

对于我想要拆分的仓库有单独的项目(" Infrastructure"),我确实看到了关于删除分离代码的提交在" DynamicDisplays" GitLab项目。

但" DynamicDisplays" GitLab项目似乎仍然包含该内容(" Infrastructure"子文件夹中的所有内容) - 至少项目的文件/文件夹结构视图仍然显示它)。

GitLab项目显示了一个提交"合并提交' 018973f3'作为'基础设施'"从我做了#34;子树添加"。这是否重新引入了内容(而不是"只是参考")?

我也认为没有办法将子树内容与“本地”内容区分开来。本地文件浏览器中的存储库内容(在我的情况下是资源管理器,因为我在Windows 8.1这里工作)。

应该是这种情况吗?我只是看到引用的内容,一切都按预期工作?您是否知道一种检查方法并可能将其可视化(因为它可能会对项目的未来用户产生影响)?

不幸的是,这里没有人知道git,介绍它的那个人已经再次移动(在我加入之前),在那之前,他们根本没有使用任何RCS(大多数人甚至还没有&# 39; T)。所以我在这里找不到任何人。

修改

经过一些更多的实验(以及提交和推送到基础设施'存储库),我在包含子树的repo中没有注意到主文件'基础设施&#39中的文件已经更改;回购。这是我追求的一部分。

有没有人知道如何引用这样的另一个回购?我是否必须使用子模块(或者它们是否也无法提供?)?

我选择了子树,因为在子模块中使用了很多建议以便于管理,但我目前还没有看到它只是复制代码而具有任何优势结束......这完全是一种耻辱,而且我很确定我只是错过了某个地方。

0 个答案:

没有答案