刚做项目,用到开源中国(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了。

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

转载于:https://www.cnblogs.com/jiangtian/p/6164371.html

oschina代码仓库远程push,pull免密实操总结相关推荐

  1. [Git] 裸代码仓库和镜像代码仓库全解

    1.Git init和clone命令对bare和mirror参数的支持 git命令 –bare参数 –mirror参数 git init 支持 不支持 git clone 支持 支持 2.裸代码仓库与 ...

  2. Git之回退已经提交到远程仓库的代码(已经push的代码)

    1 问题 git 把当前的修改已经push到远程仓库,现在需要回退这个远程提交 2 解决办法 1).我们用git log命令找到commit Id d6434e39e842a40b79119b2b88 ...

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

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

  4. Intellij IDEA 提交代码到远程GitHub仓库

    2019独角兽企业重金招聘Python工程师标准>>> 1.下载github for window http://windows.github.com/ 2.设置相关绑定 Setti ...

  5. clone远程代码 在不同电脑上git_用树莓派3搭建私有git代码仓库

    0.出发点 由于项目开发的规模和复杂度越来越大,有时候需要同时多人在不同的嵌入式linux上开发代码,在没有用git管理代码和文档前,很难同步代码和文档的版本,宝贵的代码存储也没有安全感. githu ...

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

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

  7. git第一次提交代码至远程仓库

    一 首次提交代码到git仓库 第一步:git init 初始化项目文件夹 第二步:git add . 键所有文件添加到暂存区 第三步:git commit -m "first commit& ...

  8. 小程序开发工具提交代码到远程仓库TGit-工蜂

    小程序开发工具有自己的远程代码仓库–工蜂,这个需要自己在公众平台开通一下即可使用. 第一步:准备工作 在微信公众平台开通TGit 安装Git工具 第二步:创建小程序 在小程序开发工具内,右上角菜单栏会 ...

  9. 使用Git命令行推送代码到远程仓库,阿里云效Codeup代码管理平台

    项目提交暂存.提交本地仓库.拉取.推送: [本步骤是新项目流程]请自行根据自有项目分辨是否需要跳过前两步. 右键点击项目根文件夹,选中Git Bash Here,打开命令行. (1)初始化项目命令: ...

最新文章

  1. Android -- Intent
  2. 零基础学python爬虫-我是如何零基础开始能写Python爬虫的
  3. 转载文章,感觉真的很心酸
  4. Go: init()执行顺序问题
  5. [云炬创业基础笔记]第五章创业机会评估测试5
  6. 图片热区map-area
  7. matlab是那个国家,这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的时候反光比较少...
  8. Scrapy网络爬虫实战[保存为Json文件及存储到mysql数据库]
  9. 利用Excel批量高速发送电子邮件
  10. 用jQuery实现一些导航条切换,显示隐藏
  11. 【第七章】 springboot + retrofit
  12. Oracle1518,redhat 5.4 Oracle 10g r2
  13. office2016 + visio2016
  14. UltraISO软碟通安装与刻盘以及安装镜像
  15. Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境
  16. Android系统移植与调试之-------)如何修改Android手机NFC模块,使黑屏时候能够使用NFC
  17. [非技术]-电话面试感想
  18. C#——TreeView控件使用方法
  19. ##安利几个很好的网站和软件##
  20. linux中级工程师面试题,Linux运维中级工程师面试题

热门文章

  1. Hive Fetch Task
  2. 很牛逼的短链接,我们一起来晒晒短链接程序(转)
  3. Redis的高级特性哨兵
  4. Putty、Xshell连接Linux
  5. 给演讲增色的10种简单方法
  6. Apache Spark机器学习.1.7 机器学习工作流示例
  7. sudoers配置文件详解
  8. [导入]OpenSceneGraph编译指导
  9. Struts2中五个重要的常量
  10. flask 连接数据库