把github转移到github

我正在研究一个小项目,因为它正在增长,我想把它放在github上。

我们假设:

  • 我的要点回购是: https : //gist.github.com/1234
  • 我的新(空)回购是在: https : //github.com/ChrisJamesC/myNewProject

理想的解决scheme是在github和github库上推动我的改变。

Github现在有一个新function – 从另一个存储库导入。 所以这些步骤非常简单:

  1. 创build一个新的空白存储库
  2. 使用导入function并指定存储库的URL。
  3. 利润!

更新:

你不必创build一个回购。 现在右上angular的+button有一个选项“ Import Repository ”。

来自github的截图

您可以将github存储库作为远程添加到您签出的要点存储库中。

git clone git@gist.github.com:1234.git git remote add github git@github.com:ChrisJamesC/myNewProject.git 

推它来初始化github上的git

 git push -u github master 

如果你的github仓库不是空(你用一个你不介意丢失的自述文件,许可证等来创build它),你将不得不在你的推

 git push -f -u github master 

如果您不想丢失现有的提交和文件,请参阅https://stackoverflow.com/a/40408059/117471

这也将改变分支的上游,所以github将是默认的。

您现在可以重新命名远程的要点:

 git remote rename origin gist 

每次你做出改变(或从github / gist拉动改变),你可以做:

 git push # To github git push gist master # To gist 

这也将推动你的改变,而不仅仅是github回购。

将gist(比如git clone git://gist.github.com/123.gitgit clone git://gist.github.com/123.git到你的本地硬盘,然后设置新的URL作为origin (例如git remote set-url origin https://github.com/ChrisJamesC/myNewProject )。 推送到新的存储库( git push origin master )。 快乐的打洞!

对不起震动一个老问题,我不能发表评论 ,但在第二步,由gzm0给你可能不得不使用 – 强制,即

 git push -f -u github master 

这可能是因为Github回购中有一个自述文件,但我想别人也可能会遇到这个问题。

你可以在本地克隆要点。

添加github库作为新的远程。

推送您的本地存储库到新的github远程。

删除你的要点,但README.md文件中的所有文件。 在这个文件中,你可以写出一个提示,要点已经转移到一个新的存储库

我接受的答案编辑变得冗长,所以我创build了一个单独的答案来保存它。

如果你的回购不是空的,你不想失去现有的提交和文件, 接受的答案不适用于你。 你将不得不:

  1. 如果你不关心这个要点的提交历史…
    • 复制文件, git addgit commit
  2. 如果你想保留要点的提交历史…
    • 使用本答案范围之外的git cherry-pickformat-patch 。 看看是否有可能从另一个git仓库挑选提交?