oschina代码仓库远程push,pull免密实操总结
刚做项目,用到开源中国(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协议即可。
修改前
- [remote "origin"]
- url = https://git.oschina.net/oschina/git-osc.git
- fetch = +refs/heads/*:refs/remotes/origin/*
修改后
- [remote "origin"]
- url = git@git.oschina.net:oschina/git-osc.git (这个地址到自己当前工程的oschina端代码仓库获取,如下图:)
- fetch = +refs/heads/*:refs/remotes/origin/*
注意:一定要选ssh获取到那个地址,复制到上面url处,保存,退出,即可实现免密pull及push了。
最后再声明一句,刚在写总结的时候,又用第一个命令生成了一个新的密钥,造成登录失败,也就是密钥一旦在一台机器上生成,并添加到了远程,如果二次生成会失效,需要重做一遍以上步骤,切记切记。
oschina代码仓库远程push,pull免密实操总结的更多相关文章
- 使用git配合idea使用oschina代码仓库初级教程
http://git.oschina.net/ 这个是开源中国的代码仓库是免费的,可以建100和仓库,私有也是免费的 第一步,创建 oschina代码仓库,这里就忽略了.很简单.去注册一个简单几步就可 ...
- 使用命令创建github代码仓库,push本地仓库到github远程代码仓库
1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...
- 标准程序员系列-Github篇-初始化一个代码仓库
下面将一步步介绍怎样使用GitHub来初始化一个项目的版本控制仓库: 1. 到GitHub上注册自己的账号:https://github.com/ 2. 创建第一个代码仓库一个仓库相当于一个项目的代码 ...
- 【转】PhpStorm 提交代码到远程GitHub仓库
转载地址:http://my.oschina.net/lujianing/blog/180728 1.下载github for window http://windows.github.com/ 2. ...
- 提交代码到远程GIT仓库,代码自动同步到远程服务器上。
现在一般都会通过github,gitlab,gitee来管理我们的代码.我们希望只要我本地push了代码,远程服务器能自动拉取git仓库的代码,进行同步. 这就需要用到各仓库为我们提供的webhook ...
- git代码仓库迁移(从github到oschina)【转】
转自:http://blog.csdn.net/a5244491/article/details/44807937 版权声明:本文为博主原创文章,未经博主允许不得转载. 因为一些特殊原因,需要将公司原 ...
- 按正常步骤对github的仓库进行push自己本地的代码提示push rejected
按正常步骤对github的仓库进行push自己本地的代码提示push rejected. 大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要 ...
- 【Git】5、Git如何提交代码到远程仓库
提交代码:如何把修改后的代码提交到远程仓库 文章目录 提交代码:如何把修改后的代码提交到远程仓库 1.同步远程代码 2.检查改动文件 3.添加文件到缓存 4.提交代码 5.推送代码 6.我的整个流程 ...
- git使用命令行拉取远程代码仓库中的分支至本地
1.本地创建文件夹用于存放拉取的代码 2.执行git init初始化文件夹 3.与远程代码仓库建立连接 git remote add origin git@github.com.wuylin/noth ...
随机推荐
- 多线程并发同一个表问题(li)
现有数据库开发过程中对事务的控制.事务锁.行锁.表锁的发现缺乏必要的方法和手段,通过以下手段可以丰富我们处理开发过程中处理锁问题的方法.For Update和For Update of使用户能够锁定指 ...
- 千万pv大型web系统架构,学习从点滴开始
架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...
- Struts2入门(四)——数据输入验证
一.前言 1.1.什么是输入验证?为什么需要输入验证? 在上一篇文章中,我们学习了数据类型转换,我们提到了表示层数据处理的两个方法,也提到了用户输入数据需要进行类型转换才能得到我们想要的数据,那么,我 ...
- 一步步实现ABAP后台导入EXCEL到数据库【2】
前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...
- Android开发者的Kotlin:书
原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ ...
- swift 学习笔记
1. 数组中取出字符串的方法: 1)let string = "\arr[0]" 2) let string = String(stringInterpolationSegment ...
- OuNews 简单的新闻客户端应用源码
一直想练习MVP模式开发应用,把学习的RxJava.Retrofit等热门的开源库结合起来,于是写了这么一款新闻阅读软件, 有新闻.图片.视频三大模块,使用Retrofit和Okhttp实现无网读缓存 ...
- KeySpaceNotification 键空间通知
KeySpaceNotification 键空间通知 1.Redis键淘汰机制简介 在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略.主要有两种方法,一种是当Redis ...
- Java中serialVersionUID的解释及两种生成方式的区别(转载)
转载自:http://blog.csdn.net/xuanxiaochuan/article/details/25052057 serialVersionUID作用: 序列化时为了保持版 ...
- jq focus 在火狐(Firefox)下无效
今天写代码的时候发现,在blur事件里面写focus获取焦点无效, $input.blur(function(){ ……………… $input.focus(): } 而且只是在火狐下面无效而已,很明显 ...