3

我在 Github 上有一个存储库,我想将其移至 Codeplex。

我想从我的 Github 存储库中获取所有现有的提交,并将它们推送到一个新的 Codeplex 存储库。

我认为这不是正确的方法,但我尝试过:

git remote github add url
git remote update
git add .
git commit

但是没有什么要提交的,它下载了 github repo,但是工作目录是空的。

如何切换到 Github master 分支,将所有文件添加到 Codeplex master 分支,并将提交推送到 Codeplex?

理想情况下,我希望能够继续在 Github 分支上工作并将更改推送到 Codeplex。

4

3 回答 3

5

添加遥控器

假设您已经设置了 Codeplex 存储库,并且 GitHub 当前标记为origin,那么您可以执行类似的操作。

git remote add codeplex https://foo/bar/baz
git push codeplex master

要查看您的遥控器,请使用git remote -v,您将看到您定义的遥控器以及它们指向的 URL。您可以使用多个遥控器;只需确保您已将 GitHub 和 Codeplex 正确设置为遥控器。然后,您可以像往常一样从 GitHub 推送/拉取,然后在需要时显式推送到 Codeplex。

于 2012-12-20T21:48:03.603 回答
0

对于 codeplex,您的远程(或克隆)url 将类似于: https://{git-server}.codeplex.com/{project-name} (即https://git01.codeplex.com/eisk

所以,它会像

git remote add my-project-at-codeplex https://git01.codeplex.com/eisk
git push my-project-at-codeplex master

您可以从相反的方向执行相同的操作(即以相同的方式从 codeplex 到 github。可以在此处找到详细的分步详细信息。

于 2015-04-14T05:03:58.520 回答
0

保持 2 个存储库同步将是一场噩梦。您应该考虑创建一个镜像存储库

如果您之前没有克隆存储库,您可以通过以下方式将其镜像到新家

$ git clone --mirror git@example.com/upstream-repository.git
$ cd upstream-repository.git
$ git push --mirror git@example.com/new-location.git

这将获取上游存储库中可用的所有分支和标签,并将它们复制到新位置。

警告

不要在没有被 --mirror 克隆的存储库中使用 git push --mirror 。它将用您的本地引用(和您的本地分支)覆盖远程存储库。这不是我们想要的。阅读下一部分以了解在这些情况下该怎么做。

git clone --mirror 也比 git clone --bare 更受欢迎,因为前者还克隆 git 注释和其他一些属性。

于 2015-10-15T16:54:51.000 回答