一、错误描述
To github.com:compassblog/PythonExercise.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:compassblog/PythonExercise.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
如图所示:
微信公众号:compassblog
二、错误原因
GitHub 远程端添加了 README.md 文件后,无法再次 push 的主要原因是 GitHub 中的 README.md 文件不在本地代码目录中。
如下图所示:GitHub 远程端有 README.md 文件,而本地没有这个文件
微信公众号:compassblog
微信公众号:compassblog
三、解决方法
执行下面命令进行代码合并:
git pull --rebase origin master
如图所示:
微信公众号:compassblog
执行上面代码后可以看到本地代码库中已经合并了 README.md 文件
微信公众号:compassblog
这时候再执行下面命令即可完成代码上传到 GitHub
git push -u origin master
如图所示:
执行ssh-add时出现Could not open a connection to your authentication agent
若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:
ssh-agent bash
更多关于ssh-agent的细节,可以用 man ssh-agent 来查看