我在Github上有一个存储库,我想把它移到Codeplex。
我想从我的Github仓库获取所有现有提交并将它们推送到新的Codeplex仓库。
我不认为这是正确的做法,但我尝试过:
git remote github add url
git remote update
git add .
git commit
但是没有什么可以提交的,它会下载github repo,但是工作目录是空的。
如何切换到Github主分支,将所有文件添加到Codeplex主分支,并将提交推送到Codeplex?
理想情况下,我希望能够继续在Github分支上工作,并将更改推送到Codeplex。
答案 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和其他一些属性。