刚做项目,用到开源中国(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. 多线程并发同一个表问题(li)

    现有数据库开发过程中对事务的控制.事务锁.行锁.表锁的发现缺乏必要的方法和手段,通过以下手段可以丰富我们处理开发过程中处理锁问题的方法.For Update和For Update of使用户能够锁定指 ...

  2. 千万pv大型web系统架构,学习从点滴开始

     架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...

  3. Struts2入门(四)——数据输入验证

    一.前言 1.1.什么是输入验证?为什么需要输入验证? 在上一篇文章中,我们学习了数据类型转换,我们提到了表示层数据处理的两个方法,也提到了用户输入数据需要进行类型转换才能得到我们想要的数据,那么,我 ...

  4. 一步步实现ABAP后台导入EXCEL到数据库【2】

    前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...

  5. Android开发者的Kotlin:书

    原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ ...

  6. swift 学习笔记

    1. 数组中取出字符串的方法: 1)let string = "\arr[0]" 2) let string = String(stringInterpolationSegment ...

  7. OuNews 简单的新闻客户端应用源码

    一直想练习MVP模式开发应用,把学习的RxJava.Retrofit等热门的开源库结合起来,于是写了这么一款新闻阅读软件, 有新闻.图片.视频三大模块,使用Retrofit和Okhttp实现无网读缓存 ...

  8. KeySpaceNotification 键空间通知

    KeySpaceNotification 键空间通知 1.Redis键淘汰机制简介 在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略.主要有两种方法,一种是当Redis ...

  9. Java中serialVersionUID的解释及两种生成方式的区别(转载)

    转载自:http://blog.csdn.net/xuanxiaochuan/article/details/25052057 serialVersionUID作用:        序列化时为了保持版 ...

  10. jq focus 在火狐(Firefox)下无效

    今天写代码的时候发现,在blur事件里面写focus获取焦点无效, $input.blur(function(){ ……………… $input.focus(): } 而且只是在火狐下面无效而已,很明显 ...