问题描述
本来很喜欢github的,无奈被墙,只好先托管到coding吧,使用命令git push origin master
,出现了一个错误:
fatal: The remote end hung up unexpectedly
Writing objects: 100% (15953/15953),402.21 MiB | 13.37 MiB/s,done.
Total 15953 (delta 3258),reused 0 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date
或许这个错误在github也是存在的,只是目前没有遇到过。在网上搜索了一下,说是没有写命令的远程仓库和分支,是的,刚开始直接就git push了,结果除了上述错误。然而,修改了之后,依然报错,只好请教git.coding.net的大神了,经过咨询才知道,原来是代码大于100M了。
413 说明你 单次 push 超过了限制,请换为 ssh 协议 push ,或者调整单次提交的内容,尽量不要超过 100M。
解决方法
*将https协议换为ssh协议*
有关什么是 SSH,可参考中文维基百科()。 这里要说明的是,Coding.net 支持使用 SSH 协议来访问 Git仓库,提供账户 SSH 公钥和项目部署 SSH 公钥设置。 用户可以在认证身份时选择在账户里面设置 SSH公钥,并获所有仓库的读写权限(注意!您的公钥对应的私钥必须要妥善保存,如果您的私钥被第三方获取,那么他将可以以您的身份来操作 Git 仓库,这跟密码被盗一样严重)], 也可以在项目设置里面设置项目部署公钥,获取仓库的只读权限。
添加公钥后,您就可以在项目的代码页面点击 SSH 切换到 SSH 协议的 clone 地址,类似这样:(git@coding.net:wzw/leave-a-message.git),这样就可以使用 SSH 协议来访问 Git 仓库了,每次链接都不需要再输入账号和密码了。
账户 SSH 公钥
账户 SSH 公钥是跟用户账户关联的公钥,一旦设置,就拥有账户下所有项目仓库的读写权限。
生成公钥
打开命令行终端输入ssh-keygen -t rsa -C "username@example.com"
,( 注册的邮箱),接下来点击enter键即可(也可以输入密码)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Creates a new ssh key,using the provided email as a label
# Generating public/private rsa key pair.
成功之后
Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
添加公钥
本地打开 id_rsa.pub 文件,复制其中全部内容,填写到SSH_RSA公钥key下的一栏,公钥名称可以随意起名字。
完成后点击“添加”,然后输入密码或动态码即可添加完成。
完成后在命令行测试,首次建立链接会要求信任主机。
部署 SSH 公钥
项目部署 SSH 公钥是跟项目关联的公钥,设置后有该项目的仓库的只读权限。
添加方式同 SSH 公钥一致。