在我们从 TFS VC 转移到 Git 作为 VSO 订阅的存储库之后,我们得到了以下场景。
从 VSO 上名为“RepoA”的给定远程存储库,在初始克隆之后,它在团队资源管理器上向我展示了此存储库的“main”分支。
然后我从本地的“main”分支创建了一个分支“myBranch”。对代码做了一些修改,然后提交 > 发布分支到 VSO。
现在,如果我转到 VSO 门户,在代码选项卡上,我可以看到“myBranch”和“main”分支。
因此,如果我团队中的其他人克隆了“RepoA”,或者如果他们已经克隆了它,他们会从团队资源管理器中获取,他们将在团队资源管理器的分支主题上看到远程分支。没关系...
现在,如果我转到 VSO 门户,并从“myBranch”->“master”打开一个 Pull Request,有人审核它,批准它,单击在 Complete 请求上,然后单击 Delete source branch,该分支将从服务器中消失(这是单击该按钮的预期行为)。
问题是,如果我获取更改,分支不会从我的本地分支(蓝色圆圈)中消失,也不会从 remotes/origin(红色圆圈上的分支 中消失strong>) 在团队资源管理器/分支指南上。
我们需要的是,当有人删除 VSO 上的远程分支(红色圆圈上的分支)时,他们需要自动(或通过 fetch 命令)从 remotes/origin 文件夹中删除"在团队资源管理器上。
我们知道本地分支(蓝圈)必须手动删除, 那么,在使用 Git 作为存储库的同时,如何使 Team Explorer 与我和其他人在 VSO 门户上所做的更改保持同步?
如果这是 Git“方式”和我的 Git nubish 的设计,请告诉我,我将明确地在 VSO/VS 团队用户声音上打开一个功能请求,以便在团队资源管理器上实现一些“额外”的东西同样,它具有“同步”按钮,这是一个 VS 功能,而不是 Git 功能。
谢谢!非常感谢任何帮助和澄清。
最佳答案
您正在寻找的是 fetch
命令也是 prune
, 但目前 VSO 不支持此功能。作为一种解决方法,您可以将 git 配置为在每次执行 git fetch
时默认情况下总是 prune
。您可以使用 git config remote.origin.prune true
详情请看这篇文章, Automatic prune with git fetch or pull
此外,如果您可以在用户语音下支持以下功能请求,这可能会有所帮助:-)
关于git - Team Explorer + Visual Studio Online + Git 不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31396192/