如何在GitHub上合并gist?

28

我在GitHub上有一个gist,有人fork并进行了更改。我喜欢他们的更改。

是否有一种方法将更改合并回我的原始gist中?


Gists 是普通的 Git 存储库。您可以克隆自己的存储库,获取 fork,合并 fork 并推送。(虽然我有兴趣找到一种不那么 CLI 的方法来完成它) - Romain
我的问题特别是关于将某人在我的gist的分支版本中所做的更改合并回我的原始gist。你能提出一个答案中的命令吗? - Kevin Bedell
1个回答

39

代码片段与其它仓库一样操作。比如你已经克隆了像git://gist.github.com/2322786.git这样的代码片段:

$ git clone git@gist.github.com:2322786.git

(如果你只是想尝试这个而不进行推送,你可以使用 git://gist.github.com/2322786.git ,这将演示合并原则并可以匿名工作,但不允许你进行推送。)

现在,你想要从 git://gist.github.com/2661995.git 合并更改。将它添加为另一个远程仓库:

$ git remote add changes git://gist.github.com/2661995.git
$ git fetch changes

然后像这样合并更改:

$ git merge changes/master

您应该已经准备就绪了。无论新的要点是在以前从您的分支或者是完全没有关系的情况下,这都应该可以工作。

考虑到Romain的评论,然后您需要执行 push 命令:

$ git push

只有在您的原始克隆URL允许写入时,此方法才有效。


这不会更新网站上显示的要点 - 这正是OP想要发生的。 - Romain
当然。这只是为了以一种让别人可以简单地复制和粘贴我的示例的方式来说明事情。你在第二条评论上有点过于急躁了。冷静一下吧 :). - larsks
如果你不包含 push,那么你就没有回答问题。如果你没有完全回答问题,我会取消我的点赞 ;) - Romain
我收到了这个错误:fatal: remote error: 你不能推送到 git://github.com/2711857.git 使用 git@github.com:2711857.git -- 我将更改我的远程定义。 - Kevin Bedell
2
是的,这就是@Romain所说的。你只能推送到ssh URL。看看Romain的第一条评论...我正在更新我的答案,包括两个URL,因为我真的希望有些人可以复制/粘贴这些命令并且能够正常工作。 - larsks
1
谢谢 - 我现在明白了。也感谢 @Romain。所有的问题都解决了,正是我想要的。 - Kevin Bedell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接