答案 0 :(得分:13)
建议的方法是:
git clone --bare url/for/beanstalk/repo.git .
git push --mirror git@github.com:user/repo.git
另见:https://help.github.com/articles/importing-an-external-git-repo
答案 1 :(得分:3)
# In this example, we use an external account named extuser and
# a GitHub account named ghuser to transfer repo.git
# Make a bare clone of the external repo to a local directory
$ git clone --bare https://githost.org/extuser/repo.git
# Push mirror to new GitHub repo
$ cd repo.git
$ git push --mirror https://github.com/ghuser/repo.git
# Remove temporary local repo
$ cd ..
$ rm -rf repo.git
答案 2 :(得分:2)
如果你已经在beanstalk上使用Git,你可以在GitHub上创建一个空的存储库,然后将它作为远程数据添加到你的本地存储库中。
(假设你的回购在〜/项目中)
cd ~/project
git remote add github <github-ssh-url-here>
git push github --all --tags
答案 3 :(得分:0)
这里给出的其他答案对我不起作用,但是在Fork的Dan的不可思议的帮助下(甚至向我表明我根本不需要他的产品!),我得到了以下步骤将我的9个回购从Beanstalk转移到githuhb,这绝对是轻而易举的事。希望他们也能帮助别人。
- 打开终端
- 在用户目录中创建一个临时目录:
mkdir ~/moverepos
- 打开此目录:
cd moverepos
- 克隆旧的Beanstalk回购:
git clone --bare <url/repositoryName.git>
- 使用回购协议打开目录:
cd repositoryName.git
- 打开Github,创建一个同名的新EMPTY存储库并复制其网址。
- 将数据推送到新目的地(在我们的示例中为GitHub):
git push --mirror <newUrl/repositoryName.git>
- 如果这是您第一次执行此过程,则系统将提示您输入Beanstalk用户名和密码。立即输入 并查看将回购推送到github。
- 完成后,您可以在Finder中删除临时目录并在此处停止。
- 如果要移动更多存储库,请导航至“ moverepos”的根目录:
cd ..
- 转到4。