将Github存储库移动到Codeplex并使它们保持同步

时间:2012-12-20 21:30:30

标签: git version-control github codeplex

我在Github上有一个存储库,我想把它移到Codeplex。

我想从我的Github仓库获取所有现有提交并将它们推送到新的Codeplex仓库。

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

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

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

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

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

3 个答案:

答案 0 :(得分:5)

添加远程

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

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

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

答案 1 :(得分:0)

对于codeplex,您的远程(或克隆)网址将类似于: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)以相同的方式执行相同的操作。可以找到一个好的分步详细信息here

答案 2 :(得分:0)

保持2个存储库同步将是一场噩梦。您应该考虑making a mirror repository

  

如果您之前没有克隆过存储库,则可以通过

将其镜像到新家
$ 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 notes和其他一些属性。