刚做项目,用到开源中国(oschina)的git仓库,一个多月一直在痛苦的反复输密码的过程中度过。中间配置过几次免密登录,但总是时而登的上去,时而不行,大多数情况不行。近几日项目做完了,正好有空把这个问题给解决了,于是有了这篇经验总结。

以下内容来自csdn,步骤没错,但中间有几个我遇到的坑,导致始终配置不成功,用红颜色字标识出来,供遇到同样问题的童鞋参考。

以下命令操作是在git-bash中完成的。

1.首先用ssh-keygen生成sshkey ,这里是用ssh的方式连接,不是https,也不是http,我在这里栽了坑,因为后面有相应的配置。

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

xxxxx@xxxxx.com是个人邮箱

出现以下界面,这里我默认将生成的公私钥放在了系统默认的目录,/c/windows/system32/config/systemprofile/.ssh/id_rsa,当然也可以将以上命令改为ssh-keygen -t rsa -C "xxxxx@xxxxx.com" -f "d:\id_rsa",-f后面是自己指定目录,公私钥id_rsa及id_rsa.pub将生成在那里,最终要copy走,因此放哪里都无所谓。在命令输入后只要一路回车就行,不必输入中间提示的passphrase。最终的界面如下:

2.生成两个文件id_rsa和id_rsa.pub,copy这两个文件到.ssh文件夹下,windows中.ssh文件夹一般在系统盘的用户下(c:\users\),这里要记得就是你当前使用的用户之下,开始菜单右上角那个点进去:

3.用编辑器把id_rsa.pub打开(注意一定不要加入其他字符比如空格,否则远程跟本地可能匹配不上),复制文本添加到自己账号oschina的公钥列表中。登录码云(http://git.oschina.net/),进到了自己的账户,然后点击自己头像进入用户中心界面如下图:

4.在git bash中输入

ssh -T git@git.oschina.net

若返回Welcome to Git@OSC, 你的名字! 表示添加成功。若不成功,则是以上操作步骤有误。

注意事项:

生成的sshkey文件一定要命名为id_rsa,因为ssh默认读id_rsa的sshkey。

5.在完成以上配置后,提交代码还是需要输入用户名和密码,可以到本地git repository(代码仓库,比如我的在d:\wamp\www底下,千万不要使用搜索在整个计算机搜索,可能有多个代码仓库遗留,一定是在当前正在做项目的代码仓库中,这里我栽了个大坑,下图即本地仓库的.git/config所在位置)的.git\config文件,如果url使用的是https协议,改为git协议即可。

修改前

  1. [remote "origin"]
  2. url = https://git.oschina.net/oschina/git-osc.git
  3. fetch = +refs/heads/*:refs/remotes/origin/*

修改后

  1. [remote "origin"]
  2. url = git@git.oschina.net:oschina/git-osc.git  (这个地址到自己当前工程的oschina端代码仓库获取,如下图:
  3. fetch = +refs/heads/*:refs/remotes/origin/*

注意:一定要选ssh获取到那个地址,复制到上面url处,保存,退出,即可实现免密pull及push了。

最后再声明一句,刚在写总结的时候,又用第一个命令生成了一个新的密钥,造成登录失败,也就是密钥一旦在一台机器上生成,并添加到了远程,如果二次生成会失效,需要重做一遍以上步骤,切记切记。

oschina代码仓库远程push,pull免密实操总结的更多相关文章

  1. 使用git配合idea使用oschina代码仓库初级教程

    http://git.oschina.net/ 这个是开源中国的代码仓库是免费的,可以建100和仓库,私有也是免费的 第一步,创建 oschina代码仓库,这里就忽略了.很简单.去注册一个简单几步就可 ...

  2. 使用命令创建github代码仓库,push本地仓库到github远程代码仓库

    1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...

  3. 标准程序员系列-Github篇-初始化一个代码仓库

    下面将一步步介绍怎样使用GitHub来初始化一个项目的版本控制仓库: 1. 到GitHub上注册自己的账号:https://github.com/ 2. 创建第一个代码仓库一个仓库相当于一个项目的代码 ...

  4. 【转】PhpStorm 提交代码到远程GitHub仓库

    转载地址:http://my.oschina.net/lujianing/blog/180728 1.下载github for window http://windows.github.com/ 2. ...

  5. 提交代码到远程GIT仓库,代码自动同步到远程服务器上。

    现在一般都会通过github,gitlab,gitee来管理我们的代码.我们希望只要我本地push了代码,远程服务器能自动拉取git仓库的代码,进行同步. 这就需要用到各仓库为我们提供的webhook ...

  6. git代码仓库迁移(从github到oschina)【转】

    转自:http://blog.csdn.net/a5244491/article/details/44807937 版权声明:本文为博主原创文章,未经博主允许不得转载. 因为一些特殊原因,需要将公司原 ...

  7. 按正常步骤对github的仓库进行push自己本地的代码提示push rejected

    按正常步骤对github的仓库进行push自己本地的代码提示push rejected. 大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要 ...

  8. 【Git】5、Git如何提交代码到远程仓库

    提交代码:如何把修改后的代码提交到远程仓库 文章目录 提交代码:如何把修改后的代码提交到远程仓库 1.同步远程代码 2.检查改动文件 3.添加文件到缓存 4.提交代码 5.推送代码 6.我的整个流程 ...

  9. git使用命令行拉取远程代码仓库中的分支至本地

    1.本地创建文件夹用于存放拉取的代码 2.执行git init初始化文件夹 3.与远程代码仓库建立连接 git remote add origin git@github.com.wuylin/noth ...

随机推荐

  1. JAVA JSP笔记

    一.jsp加载项目中资源图片 如果直接将静态页面写的代码copy到jsp中,你会发现图片都无法加载. 获取代码: String path = request.getContextPath(); Str ...

  2. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  3. armv7 armv7s arm64

    arm处理器以其低功耗和小尺寸而闻名,几乎所有的手机处理器都是基于arm,在嵌入式系统中应用非常广泛.   armv6, armv7, armv7s, arm64指的是arm处理器的指令集. i386 ...

  4. iOS 消息处理之performSelector

    ////  RootViewController.h//  DSCategories////  Created by dasheng on 15/12/17.//  Copyright © 2015年 ...

  5. 关于JS交互--调用h5页面,点击页面的按钮,分享到微信朋友圈,好友

    关于js交互,在iOS中自然就想到了调用代理方法 另外就是下面的,直接上代码了: 如果你的后台需要知道你的分享结果,那么,就在回调里面调用上传到服务器结果的请求即可

  6. 【代码笔记】iOS-页面之间的跳转效果

    一,工程图. 二,代码. RootViewController.m -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { ...

  7. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  8. linux下解压.tar.gz .tar.bz2

     从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包要解压很简单 :.tar.gz     格式解压命令为          tar   -zxvpf   x ...

  9. python 发送邮件

    # coding=utf-8 import smtplibfrom time import sleepfrom email.mime.text import MIMETextfrom email.mi ...

  10. 萌新笔记——linux下(ubuntu)反删除(误删恢复)与回收站制作

    刚刚有个小伙伴不小心删了他写了好几的天代码,为他心疼之余帮他找回了文件. 想到我之前也常常误删一些文件,就干脆分享一下我的反删除方法,并说说我做的回收站(好low的,求大神指点) 首先是反删除软件ex ...