如何从Windows命令行中访问SSH发布的Hg仓库?

2011-11-10  royy

如何从Windows命令行中访问SSH发布的Hg仓库?

准备

下载涉及的软件

  1. TortoiseHg > Download

    • 下载并安装好最新版本
  2. PuTTY Download Page

    • 下载稳定版本的 ZIP 包就好! PuTTy是不用安装的 ;-)

    • 并先生成SSH2 密匙对:
    • 101115-putty_599x540_scrot.png

      1. 在解开压缩的目录中,直接运行 PUTTYGEN.EXE ,注意

        • 生成密匙时,要快速的晃动鼠标,以便提供给引擎足够的随机数
        • 一般不用再设置密匙对的口令
        • 另存的私钥文件是*.ppk,需要提供给系统管理员部署的公钥文件为*-pub.rsa

配置

  1. 确认系统目录中,有相关软件的目录
    • 操作:开始->设置->控制面板->系统也可以右击我的电脑看属性->高级->环境变量

    • 确保在系统Path 参数中,有TortoiseHg 和 putty 所在的目录!

    • 101115-mshg0-sys-path_694x392_scrot.png

  2. 手工配置mercurial.ini

    • 操作:手工编辑Hg全局配置文件
      • 在XP 中一般是:C:\Documents and Settings\Administrator\mercurial.ini

      • 在Windows 其它版本中,一般自动生成在你的用户文档目录中:C:\Documents and Settings\{用户名}\mercurial.ini

    • 增补成以下的样子

      # Generated by TortoiseHg setting dialog
      [ui]
      username = zhouqi <zhouqi@kingsoft.com>
      ssh = "Z:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "Z:\putty\ssh\101113-zhouqi-rsa.ppk" -l zhouqi
      
      [tortoisehg]
      overlayicons = localdisks
      
      [extensions]
      color = 
      graphlog = 
      keyword = 
      purge = 
      eol =
      
      [eol]
      only-consistent = False
      
      [defaults] 
      glog = --style compact
      
      [alias] 
      ll = glog --style compact
    • 重点在 ssh 相关的一行,解释如下:

      ssh = "path\2\..\TortoisePlink.exe" -ssh -2 -i "path\2\..\...-rsa.ppk" -l zhouqi
                            |                   |     |                         +-- SSH登录帐号
                            |                   |     +-- 全路径指向 PUTTYGEN.EXE 生成并保存的私钥文件
                            |                   +-- 使用SSH2协议
                            +-- 全路径指向乌亀牌的 SSH 客户端软件;
                            从1.5.4之后TortoiseHg安装包已经内置,就在TortoiseHg 安装目录的根
  3. 启动SSH代理守护
    • 操作:运行  PAGEANT.EXE,并加载本地私钥文件

    • 101115-putty-agent_680x465_scrot.png

    • 当然,要先通过安全渠道,将自个儿生成的公钥文件和期望的用户名,发送给系统管理员,以便在服务端完成配置

启动

  1. 初始化本地克隆
    • 操作:开始->运行输入cmd

      1. 移动操作目录到合适的工作目录
      2. 使用hg clone 命令,克隆远端仓库!

    • 101115-mshg2-ssh-clone_624x198_scrot.png

      • 注意!

        D:\path\2\work>hg clone ssh://hg.s.kingsoft.net//r/foo
            |           |   |    |      |              +-- 服务端的绝对路径,配合URL,用 // 开头!     
            |           |   |    |      +-- Hg仓库发布域名,也可以使用IP
            |           |   |    +-- 标明使用 SSH 安全访问协议
            |           |   +-- 克隆命令
            |           +-- Mercurial 操作命令,应该是世界上最简短的版本管理起始命令了
            +-- 在Windows 中应该养成良好的工作目录习惯,一定不要在 C: 开展日常开发!
  2. 日常操作
    • 观察状态,检入本地仓库,推送到远程仓库
      • 101115-mshg3-push_551x228_scrot.png

    • 查阅远程变更,下拉最新修订:
      • 101115-mshg4_pull_scrot.png

    • 下拉最新修订,查阅冲突分支,使用kdiff完成合并:

      • 101115-mshg5-merge_474x403_scrot.png

      • 101115-mshg6-kdiff_742x508_scrot.png

    猜你喜欢
    发表评论评论公约
    喜欢该文的人也喜欢 更多