我正在开发一个带有要点的小项目,因为它正在增长,我想把它放在github上。
我们假设:
理想的解决方案是在gist和github存储库上推送我的更改。
答案 0 :(得分:49)
您可以将github存储库作为远程添加到已签出的gist存储库。
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 repo不是相当为空(您使用README,许可证等创建了它,您不介意丢失),您将不得不在推送时强制覆盖
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
这也会将你的更改推回到gist,而不仅仅是github repo。
答案 1 :(得分:38)
Github现在有一个新功能 - 从另一个存储库导入。所以步骤很简单:
您不必创建回购。右上角的 + 按钮现在有' Import Repository'作为一种选择。
答案 2 :(得分:4)
将要点(例如git clone git://gist.github.com/123.git
)克隆到您的本地硬盘,然后设置origin
的新网址(例如git remote set-url origin https://github.com/ChrisJamesC/myNewProject
)。推送到新存储库(git push origin master
)。快乐的gitting!
答案 3 :(得分:4)
对于摇动一个旧问题并且我不能评论感到抱歉,但是在gzm0给出的第二步中你可能不得不使用--force,即
git push -f -u github master
可能是因为Github回购中有README,但我猜其他人也可能会遇到这种情况。
答案 4 :(得分:1)
我对已接受答案的编辑变得越来越长,所以我创建了一个单独的答案来持有它。
如果您的回购不是空的并且您不想丢失现有的提交和文件, accepted answer不适用于您。您必须:< / p>
git add
,git commit
cherry-pick
或format-patch
。请参阅Is it possible to cherry-pick a commit from another git repository?