GitHub提交(推送)代码片段

56

我无法理解这个。

我已经创建了一个Gist。然后我运行:

$ mkdir mygist
$ cd mygist
$ git init
$ git pull git@gist.github.com:869085.git

然后我添加文件,更改文件并尝试提交。

$ git add .
$ git commit -a -m "Better comments"

然后我不知道如何将其发送回Github并提交此Git。


1
我只想给那些试图尝试的人添加一条评论:你无法将文件夹添加到代码片段中(至少在我尝试过时是这样)。如果我试图将文件夹添加到代码片段中,我就无法推送,这让我认为下面的答案行不通。但实际上它们是行得通的,只要不提交文件夹即可。 - Rico Kahler
3
如果有人在尝试使用https推送时遇到问题,请检查您是否启用了双重身份验证,然后需要生成一个令牌来推送:https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ - sinewave
3个回答

87

最简单的方法可能是先克隆这个gist,这样origin(一个指向原始存储库的“远程”引用)就会为您设置好。然后,您只需要执行git push origin master即可。例如:

git clone git@gist.github.com:869085.git mygist
cd mygist
# Make your changes...
git add .
git commit -m "Better comments"
git push origin master

然而,如果你不想重新做出你的更改,你可以执行:

cd mygist
git remote add origin git@gist.github.com:869085.git
git fetch origin
# Push your changes, also setting the upstream for master:
git push -u origin master

严格来说,git fetch origin 命令和 -u 参数在执行 git push origin master 时是可选的,但它们有助于将远程仓库中的上游分支 master 和本地分支 master 相关联。


我想做的是泰语,但当我执行以下命令时:$ git push origin master我得到了以下错误信息:输入密钥'/c/Users/user/.ssh/id_rsa'的密码: 错误:MightyTechnologies/Mighty-Solution-CMS没有869085.git的权限。 致命错误:远程终端意外挂断。 - Sergey
1
@Sergey:这只是猜测,但可能是因为您还没有将/c/Users/user/.ssh/id_rsa.pub中的公钥添加到MightyTechnologies帐户的SSH公钥中?否则,也许这里的建议中的某些内容可以帮助您? - Mark Longair
1
@JJD:你对这个答案的编辑切换到了使用git branch -u,但这个命令只是在最近的git版本(v1.8.0)中引入的,所以我已经将答案更改为使用git push -u origin master,这样可以节省一个命令。 - Mark Longair
4
重要的是git地址的格式应为git@...而不是gist页面上显而易见的“clone”字段所使用的http:...格式。 - tacaswell

12

由于您没有使用 git clone 命令,因此您没有设置远程仓库。虽然 Mark Longair 的解决方案是最好的,但另一种选择是:

git push git@gist.github.com:869085.git

1
我想做的是泰语,但当我执行 $ git push origin master 时,我收到了 Enter passphrase for key '/c/Users/user/.ssh/id_rsa': ERROR: Permission to 869085.git denied to MightyTechnologies/Mighty-Solution-CMS. fatal: The remote end hung up unexpectedly 的错误提示。 - Sergey

1

你只需要使用 git push 命令将其发送到 Github。


我想做的是泰语,但当我执行$ git push origin master时,会出现“输入密钥'/c/Users/user/.ssh/id_rsa'的密码:ERROR:Permission to 869085.git denied to MightyTechnologies/Mighty-Solution-CMS。fatal:远程端意外挂断。” - Sergey
消息显示您无权在该git存储库上进行编写。您确定在Github上指定的公共信息是正确的吗? - Artusamak

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