63

我正在做一个带有 gist 的小项目,由于它正在增长,我想把它放在 github 上。

让我们假设:

理想的解决方案是将我的更改推送到 gist 和 github 存储库。

4

6 回答 6

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 存储库不是空(您使用 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 存储库。

于 2012-12-02T16:56:59.687 回答
43

Github 现在有一个新功能——从另一个存储库导入。所以步骤大大简化了:

  1. 使用导入功能并指定存储库的 URL。
  2. 利润!

更新:

您不必创建存储库。右上角的+按钮现在可以选择“导入存储库”。

来自github的截图

于 2016-05-10T17:14:46.070 回答
4

将要点(例如)克隆到本地硬盘,然后为(例如)git clone git://gist.github.com/123.git设置新的 URL 。推送到新的存储库 ( )。快乐的吉丁!origingit remote set-url origin https://github.com/ChrisJamesC/myNewProjectgit push origin master

于 2012-12-02T16:51:32.653 回答
4

很抱歉提出一个老问题,我无法发表评论,但在 gzm0 给出的第二步中,您可能必须使用 --force,即

git push -f -u github master

这可能是因为 Github 存储库中有一个 README,但我想其他人也可能遇到这个问题。

于 2014-02-28T09:47:15.143 回答
1

您可以在本地克隆要点。

将 github 存储库添加为新的远程。

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

删除 gist 中的所有文件,但 README.md 文件除外。在此文件中,您可以写下 gist 已移至新存储库的提示

于 2015-05-08T10:13:02.623 回答
1

我对已接受答案的编辑变得冗长,因此我创建了一个单独的答案来保存它。

如果您的存储库不为空并且您不想丢失现有的提交和文件,接受的答案不适用于您。您将不得不:

  1. 如果你不关心要点的提交历史......
    • 将文件复制过来git add,,git commit
  2. 如果你想保留要点的提交历史......
于 2016-11-03T17:44:26.067 回答