使用SSH方式访问git repository
git.oschina.net开放了git存放, 私有库限额是2个, 公开库限额是10个. 考虑到 github 和 bitbucket 被那个为时不远了. 我计划慢慢转到oschina上面.
远程git操作, 推荐使用ssh协议, 而不是https协议, 速度快呀. 另外, 不知为何我使用git客户端以https协议访问git.oschina.net, 始终无法通过oschina的认证.
下面记录ssh配置和使用的简单步骤.
下载 git extensions 完整版(包含 MsysGit), 安装过程中有一步是要ssh客户端, 要选择默认的putty.
==================
ssh key准备
==================
1. 使用如下命令生成 key pair, key 文件存放在C:盘根目录, passphase直接留空.
注意: 一定要使用 MsysGit 的 ssh-keygen 工具生成key pair, 而不是 putty key gen. 因为所有git网站都不支持putty 的key 格式.
ssh-keygen -t rsa -C "harrychinese@gmail.com" -f C:\harrychinese
2. 将 public key 加到 git.oschina.net 网上, 位置是 <我的资料>/<SSH密钥>
3. 使用 git extensions 内嵌的 puttygen.exe ,将上面生成的private key转成 putty ssh格式, 保存之.
==================
git 使用, 以 pydbrowfactory codebase 为例
==================
1. 从git网页上, 获取该repository的url, 注意下面的url, 必须是ssh方式的url, 不能是https协议.
git@git.oschina.net:harrychinese/pydbrowfactory.git
2. 在 gitext 中, 为 pydbrowfactory 库加载 SSH 私钥, 就是经 puttygen.exe 转换后的私钥.
3. 之后就可以对remote repos 进行push等操作了. 在push时, gitext 会自动在后台运行putty的 pagent.exe, 如果pagent.exe无法启动, push等remote 操作就无法进行.
=================
gitext和tortoisegit结合着用
==================
gitext对文件做重命名和reset很不方便,乌龟就比较方便了,当然我会关掉乌龟的icon overlay.