在VSTS中“断开”分叉的Git回购

时间:2017-12-19 16:36:32

标签: azure-devops

在VSTS中,我分叉了一个存储库来开发一个与原始存储库不同的产品。

当我在分叉回购中将分支机构从分支机构制作成主机时,VSTS默认合并到原始仓库中。我必须确保不要错误地将每个PR合并到原始回购中。 VSTS new PR menu

VSTS似乎认为我可能想要将我的分叉回购中的更改合并到原始回购中。我没有计划这样做。如何告诉VSTS将我的分叉回购与原始仓库“断开”?

3 个答案:

答案 0 :(得分:3)

不,VSTS中没有此功能,您可以投票的用户语音:Allow option of converting forks to repos

答案 1 :(得分:2)

变通

作为一种解决方法(在Visual Studio中),直到它被修复:

  1. repo
  2. 删除远程 repo
  3. 使用相同名称创建新的远程 repo
  4. 推送 repo
  5. 您可能必须创建临时远程仓库(如果您愿意,可以命名为 temp ),以便能够删除远程仓库。在您推送到新的远程仓库后,您可以删除名为" temp "的临时远程仓库

    您最有可能破坏与回购链接相关的任何内容(拉取请求,工作项),还必须重新应用任何政策和安全资料。

    • repo = VSTS中的错误分支。
    • 临时远程repo =如果您无法删除fork repo,则会创建临时tepo。
    • new remote repo =要使用的新repo而不是fork。

答案 2 :(得分:1)

似乎应该断开旧的远程源并设置上游,然后再进行推送。也许使用--set-upstream进行的推送会覆盖它?

这就是我所做的:

  1. git clone ACCOUNT @ vs-ssh.visualstudio.com:v3 / ACCOUNT / PROJECT / 叉名 NEW-NAME
  2. git远程rm起源
  3. 在VSTS上为 NEW-NAME
  4. 创建新的存储库
  5. git push --set-upstream ACCOUNT @ vs-ssh.visualstudio.com:v3 / ACCOUNT / PROJECT / 新名称开发

这对我来说很有效,可以从分叉改为回购。我可以从Web查看器中查看完整的历史记录并打开变更集。我是在Azure DevOps(以前称为Visual Studio Team Services AKA VSTS)中完成的。我针对GitHub进行了测试。

拉动请求和推送丢失。提交仍链接

我不确定您是否需要对不同的分支进行多次推送。无论如何,我的fork只有一个develop分支。我只创建一个master分支,所以git flow不会抱怨。