使用Visual Studio 2019将更改推送到子存储库

时间:2019-12-06 09:58:28

标签: git azure-devops git-submodules visual-studio-2019 team-explorer

我试图通过仅在父级repo B上工作来处理两个存储库(repo Arepo A的子级)。

当前子存储库处理:

Current sub-repository handling

基本上,我的目标是每当我按repo B时(如果repo A文件夹有更改)就对repo B进行更改。

我尝试使用Submodules实现此目的,但是vs2019似乎甚至无法识别submodule文件夹中的特定更改。它只会显示子模块已更改,但从未真正允许我推送。大多数时候我只会得到fatal: unexpected sequence in commit output

我的两个存储库都在Azure DevOps中。我还考虑过制作一个运行.sh script的管道,以在注册的推送中自动推送另一个存储库。只能让repo A尝试将自身的全部内容推送到repo B上。

这真的是实现我想做的唯一方法吗?我在做错什么吗?

1 个答案:

答案 0 :(得分:0)

Visual Studio 2019知道子模块脏了,但是当前无法同时推送父子模块。这是因为Visual Studio当前一次仅打开一个存储库。在您的情况下,Visual Studio仅直接与父存储库一起使用。

一种解决方法(虽然绝对不是理想的方法)是首先直接打开子模块存储库。在此处提交更改,然后将其推送。然后切换回父级存储库以使用更改,然后推送父级。

客户已要求能够在多个存储库中工作,并且将来的发行版中将考虑使用这种功能。

希望这会有所帮助。