VS2012使用Git并连接到osc@git
1.下载GitExtensions并安装
安装时请注意

前者MsysGit是 Git版本控制系统在 Windows 下的版本,如果要使用Git,你的电脑上一定要有它。后者KDiff3是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行有关合并的操作。如果你的电脑上已经有了类似的工具可以不用安装后者。
之后这个,选择Putty

谁能告诉我他们有什么不同吗?
之后这里我选的是第三个,第一个只装git bash,第二个是使用windows命令行工具来运行git,第三个我不太懂,Unix tools这里指什么?我选的是第一个默认的。。。

在“Configuring the line ending conversions”选项中,

如果是跨平台项目,在windows系统安装,选择第一个选项;
如果是跨平台项目,在Unix系统安装,选择第二个选项;
非跨平台项目,选择第三个选项。
2.在vs2012中安装Git Source Control Provider
工具->扩展和更新菜单

安装之后浏览器中会转到这个网址:http://gitscc.codeplex.com/documentation,是如何使用的介绍文档
3.打开Git Bash,生成ssh密钥:

输出文件路径和Private Key建议都为空( Private Key不为空时,在建立ssh访问时要输入该key)。然后到c:\user\用户名\.ssh文件夹下找到id_rsa.pub文件用记事本打开。然后全选复制到剪贴板。
4.在osc@git中添加ssh密钥:
第一次添加的时候我出了这个错误,

于是又生成了一遍,这次没事了,在这个页面添加密钥

验证是否添加成功可以在git bash中运行以下命令:
ssh
-T git@git.oschina.net
(2015.3.25日修改:这里的-T必须是大写,用小写会报错PTY allocation request failed on channel 0 )
如果返回

那么就ok啦
5.现在生成puTTY能用的ssh key



奇怪的是,我这里报这个错误,后来才发现是因为配置这里出错了,

在配置的SSH中
我这里不知道为什么选择的是OpenSSH,应该是PuTTY才对。

注意是点击Load,这次就没问题了。
选择之前生成的id_rsa文件(文件筛选请改为all file)

点击Save private key,生成了ppk文件

开始:
1.在osc@git上新建一个项目(这里命名为test),建议不自动添加.gitignore文件,因为后面会生成,可能造成local和remote的.gitignore文件冲突
2.复制remote git地址(选择SSH方式) .在该项目中打开Git Extensions,选择本地库。
选择档案库->远程档案库把网址贴上去,之后添加私钥文件,再加载SSH密钥,再测试链接。。。。
这时候有可能你会发现报错,这是因为你可能使用的是HTTP方式,应该是选择ssh地址
出现如下图像是正确的
此时点击保存即可。
3.提交更改(commit)并推送(push)
点击之后
点击提交并推送。实际上可以只提交不推送,这样可以在本地产生多次commit,但是更改不会同步到osc@git上,必须push后才能将更改上传
挺慢的,耐心等吧。。。。
最后去你的Oschina看看你的成果吧,哈哈
2015年3月2日更新:
在github的官网上已经有支持windows的github客户端出现,地址是https://windows.github.com/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构