##language:zh #pragma section-numbers off ##含有章节索引导航的 ZPyUG 文章通用模板 <<TableOfContents>> ## 默许导航,请保留 = 如何从Windows命令行中访问SSH发布的Hg仓库? = 参考: 1. [[http://mercurial.selenic.com/wiki/AccessingSshRepositoriesFromWindows|AccessingSshRepositoriesFromWindows - Mercurial]] 1. [[http://mercurial.selenic.com/wiki/SharedSSH|SharedSSH - Mercurial]] 1. [[http://mercurial.selenic.com/wiki/Trust|Trust - Mercurial]] 1. [[http://www.codza.com/mercurial-with-ssh-setup-on-windows|codza » mercurial with ssh setup on windows]] 1. [[http://www.haijd.net/article/index.php?action=read&id=780|Mercurial + TortoisePlink.exe 连接 SSH 服务器 - haijd Article]] 1. [[http://dev.openttdcoop.org/projects/home/wiki/Configuring_TortoiseHg_(Windows)|Configuring TortoiseHg (Windows) - #openttdcoop Development Zone]] ##startInc == 准备 == `下载涉及的软件` 1. [[http://tortoisehg.bitbucket.org/download/index.html|TortoiseHg > Download]] * 下载并安装好最新版本 1. [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|PuTTY Download Page]] * 下载稳定版本的 ZIP 包就好! `PuTTy`是不用安装的 ;-) * 并先生成SSH2 密匙对: * {{attachment:101115-putty_599x540_scrot.png}} 1. 在解开压缩的目录中,直接运行 `PUTTYGEN.EXE` ,'''注意''' * 生成密匙时,要快速的晃动鼠标,以便提供给引擎足够的随机数 * 一般不用再设置密匙对的口令 * 另存的私钥文件是`*.ppk`,需要提供给系统管理员部署的公钥文件为`*-pub.rsa` == 配置 == 1. 确认系统目录中,有相关软件的目录 * 操作:`开始->设置->控制面板->系统`^也可以右击我的电脑看属性^`->高级->环境变量` * 确保在系统`Path` 参数中,有TortoiseHg 和 putty 所在的目录! * {{attachment:101115-mshg0-sys-path_694x392_scrot.png}} 1. 手工配置`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 安装目录的根 }}} 1. 启动SSH代理守护 * 操作:`运行 PAGEANT.EXE,并加载本地私钥文件` * {{attachment:101115-putty-agent_680x465_scrot.png}} * 当然,要先通过安全渠道,将自个儿生成的公钥文件和期望的用户名,发送给系统管理员,以便[[HowtoPublishSshRepository|在服务端完成配置]] == 启动 == 1. 初始化本地克隆 * 操作:`开始->运行`输入'''cmd''' 1. 移动操作目录到合适的工作目录 1. 使用`hg clone` 命令,克隆远端仓库! * {{attachment: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: 开展日常开发! }}} 1. 日常操作 * 观察状态,检入本地仓库,推送到远程仓库 * {{attachment:101115-mshg3-push_551x228_scrot.png}} * 查阅远程变更,下拉最新修订: * {{attachment:101115-mshg4_pull_scrot.png}} * 下拉最新修订,查阅冲突分支,使用`kdiff`完成合并: * {{attachment:101115-mshg5-merge_474x403_scrot.png}} * {{attachment:101115-mshg6-kdiff_742x508_scrot.png}} ##endInc ---- '''反馈''' 创建 by -- ZoomQuiet [<<DateTime(2010-11-15T17:01:08+0800)>>] <<Include(ZPyUGnav)>>