如何把本地项目提交到 github

3,593 阅读2分钟

1. 在本地创建 ssh key 文件,与 github 上自己的账号关联

如果没有在本地创建 ssh key 与 github 关联,自己在提交仓库的时候就会出现

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

image.png

出现这个错误的原因是:你在本地或者服务器上面没有生成ssh key导致的。

1.1 检查 .ssh 目录

进入 C:\Users\administrator.ssh 目录,如果没有 id_rsa 和 id_rsa.pub 文件,就是没有ssh key ,需要创建。

1.2 创建 ssh key

在ternimal下输入命令:

ssh-keygen -t rsa -C "youremail@example.com"

youremail@example.com改为自己的邮箱即可,途中会让你输入密码啥的,不需要管,一路回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key。)

image.png

1.3 ssh -v git@github.com

在ternimal下执行命令:ssh -v git@github.com最后两句会出现:

 No more authentication methods to try.  

 Permission denied (publickey).

1.4 ssh-agent -s

在ternimal下执行命令:ssh-agent -s

会提示类似的信息:

 SSH_AUTH_SOCK=/tmp/ssh-GTpABX1a05qH/agent.404; export SSH_AUTH_SOCK;  

 SSH_AGENT_PID=13144; export SSH_AGENT_PID;  

 echo Agent pid 13144;

1.5 ssh-add ~/.ssh/id_rsa

在ternimal下执行命令:ssh-add ~/.ssh/id_rsa

这时候应该会提示: Identity added: ...(这里是一些ssh key文件路径的信息)

(注意)如果出现错误提示:Could not open a connection to your authentication agent.

请执行命令:eval ssh-agent -s后继续执行命令 ssh-add ~/.ssh/id_rsa ,这时候一般没问题啦。

1.6 打开 id_rsa.pub

打开你刚刚生成的 id_rsa.pub ,将里面的内容复制,进入你的github账号,在settings下,SSH and GPG keys下new SSH key,title 随便取一个名字,然后将 id_rsa.pub 里的内容复制到Key中,完成后Add SSH Key。

image.png

1.7 验证 Key

在ternimal下输入命令:ssh -T git@github.com

提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell  access.

关联 ssh key 的操作就成功完成了。

2. 把本地项目提交到 github 仓库

2.1 在 github 上新建仓库

image.png

2.2 设置本地项目的远程仓库

image.png

2.3 提交到远程仓库

第一次提交到远程仓库,如果是 main 分支可能需要 force push 。

image.png