我正在做一个带有 gist 的小项目,由于它正在增长,我想把它放在 github 上。
让我们假设:
- 我的 gist repo 位于:https ://gist.github.com/1234
- 我的新(空)回购位于:https ://github.com/ChrisJamesC/myNewProject
理想的解决方案是将我的更改推送到 gist 和 github 存储库。
我正在做一个带有 gist 的小项目,由于它正在增长,我想把它放在 github 上。
让我们假设:
理想的解决方案是将我的更改推送到 gist 和 github 存储库。
您可以将 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 存储库不是很空(您使用 README、许可证等创建它,您不介意丢失),您将不得不在推送时强制覆盖
git push -f -u github master
如果您不想丢失现有的提交和文件,请参阅https://stackoverflow.com/a/40408059/117471
这也会改变分支的上游,所以 github 将是默认的。
您现在可以重命名 gist 的遥控器:
git remote rename origin gist
每次进行更改(或从 github/gist 拉取更改)时,您可以执行以下操作:
git push # To github
git push gist master # To gist
这也会将您的更改推送到要点,而不仅仅是 github 存储库。
将要点(例如)克隆到本地硬盘,然后为(例如)git clone git://gist.github.com/123.git
设置新的 URL 。推送到新的存储库 ( )。快乐的吉丁!origin
git remote set-url origin https://github.com/ChrisJamesC/myNewProject
git push origin master
很抱歉提出一个老问题,我无法发表评论,但在 gzm0 给出的第二步中,您可能必须使用 --force,即
git push -f -u github master
这可能是因为 Github 存储库中有一个 README,但我想其他人也可能遇到这个问题。
您可以在本地克隆要点。
将 github 存储库添加为新的远程。
将本地存储库推送到新的 github 远程。
删除 gist 中的所有文件,但 README.md 文件除外。在此文件中,您可以写下 gist 已移至新存储库的提示
我对已接受答案的编辑变得冗长,因此我创建了一个单独的答案来保存它。
如果您的存储库不为空并且您不想丢失现有的提交和文件,则接受的答案不适用于您。您将不得不:
git add
,,git commit
cherry-pick
或format-patch
超出此答案的范围。请参阅是否可以从另一个 git 存储库中挑选提交?