团队资源管理器 + Visual Studio Online + Git 不同步

17

我们从TFS VC移动到Git作为我们的VSO订阅上的仓库后,出现了以下情况。

在VSO上的给定远程仓库名为“RepoA”,初始克隆后,团队资源管理器会为我呈现此仓库的“main”分支。

然后我在本地从“main”分支创建了一个名为“myBranch” 的分支。 对代码进行了一些更改,然后提交 > 发布该分支到VSO。

现在,如果我转到VSO门户,在代码选项卡上,我可以看到“myBranch”以及“main”分支。

因此,如果我的团队中的其他人克隆“RepoA”或者他们已经将其克隆,他们可以从团队资源管理器中获取,他们将在团队资源管理器/分支手册的分支主题上看到远程分支。 那很好...

现在,如果我进入VSO门户,并从“myBranch” - > “master”打开拉取请求,有人审查并批准它,单击“完成请求”,然后单击“删除源分支”,该分支将从服务器上消失(单击该按钮的预期行为)。

问题是,如果我获取更改,分支不会从我的本地分支(蓝色圆圈)或团队资源管理器/分支指南中的remotes/origin(红色圆圈上的分支)中消失。

team explorer git

我们需要的是,当有人在VSO上删除远程分支(红色圆圈上的分支)时,它们需要自动(或通过fetch命令)从团队资源管理器中的remotes/origin“文件夹”中删除。

我们知道必须手动删除本地分支(蓝色圆圈), 那么,在使用Git作为存储库时,如何使Team Explorer与我和其他人在VSO门户上进行的更改保持同步?

如果这是 Git 的“方式”设计,而且是我的 Git 新手问题,请告诉我,我肯定会在 VSO/VS 团队用户声音上开启一个功能请求,以便像“同步”按钮一样在团队资源管理器中实现“额外”功能,这是 VS 功能,而不是 Git 功能。 谢谢!非常感谢您的任何帮助和解释。

remotes/origin 是什么?这是一个本地分支还是远程分支?你的措辞非常不清楚。 - Tim Biegeleisen
好的,现在更清楚了。答案是您必须手动删除本地分支。这是Git中典型的工作流程。 - Tim Biegeleisen
抱歉给@TimBiegeleisen造成困惑,我添加了一张图片以便更清晰地表达。你的答案还是一样吗?即使它们已经从VSO中删除,我是否需要在团队资源管理器中手动删除remotes/origin下的分支?如果是,请将您的回复添加为答案,以便我可以标记它,以防其他人没有任何解决方法。谢谢。 - Gutemberg Ribeiro
我从未使用过你们的版本控制系统,但根据图表显示,这似乎展示了在 GitHub 存储库上被跟踪的远程分支。在这种情况下,我认为问题可能是此列表没有得到更新。你能强制进行某种更新吗? - Tim Biegeleisen
为了提供信息,VSO不仅仅是像GitHub一样的代码仓库。如果你正在开发商业项目或者需要完整的应用程序生命周期管理(ALM)解决方案,我会选择VSO。但是,如果你需要社区贡献和/或是一个开源项目,你可以继续使用GitHub,因为它没有免费贡献的限制,但请记住,GitHub只是一个托管Git的平台,仅此而已。 - Gutemberg Ribeiro
显示剩余3条评论
1个回答

29
您需要的是使fetch命令同时也prune,但目前在VSO中不支持此功能。作为解决方法,您可以配置git使每次执行git fetch时默认启用prune,可以通过 git config remote.origin.prune true 实现。
有关详细信息,请参见此线程:Automatic prune with git fetch or pull 此外,如果您在用户反馈中为以下功能请求投票,可能会有所帮助 :-): http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/7204022-visual-studio-git-propose-to-prune-when-fetchi http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/7744350-add-pruning-of-a-git-remote-to-the-team-explorer

感谢 @Techtwaddle 提供的解决方案/变通方法,这正是我们需要的。我已经在用户反馈中支持了此项建议,我希望微软能够至少在团队资源管理器的同步面板上添加一个复选框或另一个按钮(获取+修剪),或者让用户在仓库或全局设置中进行选择。非常感谢! - Gutemberg Ribeiro

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