0

为了让位于 Internet 上任意位置(位置 A)的计算机触发git push从公共 GitHub 存储库github.com/someuser/source-repo(位置 B)到私有 Azure Git存储库(位置 C),需要使用什么特定语法NameOfAzdoOrganization@dev.azure.com/NameOfAzdoOrganization/NameOfAzdoProject/_git/NameOfAzdoProject

空的远程 Azure Git 存储库(位置 C)提供以下代码以从位置 A 的本地存储库推送以填充远程位置 C:

git remote add origin https://NameOfAzdoOrganization@dev.azure.com/NameOfAzdoOrganization/NameOfAzdoProject/_git/NameOfAzdoProject
git push -u origin --all

但是需要在位置 A 上运行什么命令才能从位置 B 推送到位置 C?

4

2 回答 2

2

位置 A 上的计算机必须从位置 b 克隆 repo

git clone github.com/someuser/source-repo.git

然后将位置 C 中的 repo 添加为远程

git remote add locationC https://NameOfAzdoOrganization@dev.azure.com/NameOfAzdoOrganization/NameOfAzdoProject/_git/NameOfAzdoProject

然后推到位置 C

git push -u locationC

--all如果您希望推送所有分支而不是默认分支,则可以添加到最后一个命令。

除非位置 B 中的存储库具有镜像功能(例如,gitlab 让您将对存储库所做的任何推送镜像到另一个远程存储库),否则我相信您必须跳过这个环节。

于 2020-06-15T20:17:43.687 回答
1

我在想像 az azdo pull fromLocationB toLocationB 之类的东西。

据我所知,沙地方法是有效的。

根据您的要求,Azure 存储库中的位置 C 为空。并且您想将存储库从 github 移动到 Azure 存储库。

您可以尝试在位置 A中使用az repos import 命令。

az login 

az repos import create --git-source-url https://github.com/xxx/xxx.git --repository {Location C Repo name} --organization https://dev.azure.com/{Org name} --project {Project name}

注意:位置 C 中的 repo 需要为空。它不支持导入已经有内容的 repo。

该方法是将 Github 中的 repo 直接导入 Azure Repo。它有局限性。

希望这能给你一点帮助。

于 2020-06-16T08:44:55.147 回答