今天在学习github的时候遇到了一些问题,然后爬了一会,找到了解决方法记录下来,以防忘记,当然能帮助别人最好啦!
github教科书传送门:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
再学习到"添加远程仓库"的时候遇到了 Permission denied (publickey) 这个问题,
总结来说以前的步骤如下所示:
1、git config --global user.name "usernme"
2、git config --global user.email "emailName"
3、git bash 进入工程目录:git init
4、使用git add filename 将文件添加到库
5、使用git commit -m "first commit" 进行提交
6、本地与仓库进行配对 git remote add origin git@github.com:eoooxy/git_test.git
7、把本地的内容推送到仓库中 git push -u origin master
8、然后下一步理想的状态是提交到了远程仓库了,但是这边他就报错了:
这样一来我就尴尬了。然后百度了下 解决方法是,先生成一个key,命令是: ssh-keygen -t rsa,然后有下面的提示
第一个红线的框应该是让你把输入保存的名字,第二篮框子就是输入密码,空就上没有密码(英语是体育老师教的,好伤心啊!)
然后 下面就是一系列 不知名的东西。。。文件是生成在当前的路径的
然后 cat windows.pub 之后会有一串数字
复制 public key (windows.pub中的一串数字) 到你账户的 list of SSH keys, 再重新push.
到这我是没有成功的 然后网上又查了下,说用下面的命令来测试下:
$ ssh -v git@github.com
然后我就发现了
他在找公钥的时候都在我的c盘下面找的而且名字为 id_XXX,而我生成的空间是在d盘,之后我就把window改名id_rsa就,然后再次测试 ,结果为下
反正我看不懂没有报 Permission denied (publickey) 错误就对了。。。
然后在push代到仓库中就OK了
补充 2017-5-4
如果提交的时候出现:
那么:参考:https://segmentfault.com/q/1010000002736986/a-1020000002737032
是不是在不同的机器上上做了提交??
远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到的问题,可以先fetch
再merge
,也就是pull
,把远程分支上的提交合并到本地分支之后再push
。
如果你确定远程分支上那些提交都不需要了,那么直接git push origin master -f
,强行让本地分支覆盖远程分支。。。