vs2013使用git连接git.oschina.net上的项目,
在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地。这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者。否则你是无法添加SSH key的,另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。以下主要讲的是SSH连接服务器上的项目
1..osc@git上的一个账号
2.为系统安装上GitExtensions
3.为vs2012安装上Git Source Control Provider
4.打开Git Bash,生成ssh密钥:
ssh-keygen -t rsa -C "your_email@youremail.com"
输出文件路径和Private Key建议都为空( Private Key不为空时,在建立ssh访问时要输入该key)。
然后到c:\user\用户名\.ssh文件夹下找到id_rsa.pub文件用记事本打开。然后全选复制到剪贴板。
5.在osc@git中添加ssh密钥:
验证是否添加成功可以在git bash中运行以下命令:
ssh -T git@git.oschina.net
如果出现如下信息,则说明添加成功
Welcome to Git@OSC, nekocode!
6.生成puTTY能用的ssh key
打开vs2013
选择之前生成的id_rsa文件(文件筛选记得改为all file)
最后保存为oschia.ppk文件(上上图为我已经保存的ppk文件)
到这里为止,只要配置正确,应该都可以clone代码到本地库了,下面要注意的是:在osc@git上加的是个人ssh-key而不是项目部署key。
个人ssh-key是在http://git.oschina.net/keys 设置的拥有所有权限;
项目部署key是在项目设置中设置的,是用于部署用,只能clone与pull。
我之前加的部署key,能clone代码到本地,改完之后push时报错:
Access denied.
fatal: Could not read from remote repository
后来改成个人ssh-key后,成功push.