博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将HG版本库推送到Git服务器
阅读量:6628 次
发布时间:2019-06-25

本文共 2141 字,大约阅读时间需要 7 分钟。

如何将HG版本库推送到Git服务器?

目的

习惯使用HG来进行版本管理,但是GitHub代码统计比Bitbucket要丰富,所以准备主力仓库选用Bitbucket,GitHub作为备用仓库.

GitHub本身不支持 HG 版本库,所以需要用到HG-Git扩展插件来实现转义或翻译Git类型的版本库.

参考资料

TortoiseHg 启用 HG-Git 的方法

Windows 版本的 TortoiseHg 已经集成了 HG-Git 扩展插件 (及其必备运行环境 Dulwich) ,因此只需要在 .hgrc 配置文件里设置一下即可启动.

[extensions]hggit =

填坑记录

几种 Git 仓库地址的区别

  1. https://github.com/schacon/hg-git.git

    权限支持:可读 可写.

    GitHub 内建的克隆方式.

    HG-Git 支持.

    使用此格式的地址克隆仓库时会出错提示:

    中止: No module named selectors!

  2. git@github.com:schacon/hg-git.git

    权限支持:可读 可写.

    GitHub 内建的克隆方式. 需要 SSH key 和 passphrase.

    HG-Git 支持.

    使用此格式的地址克隆仓库时会出错提示:

    系统找不到指定的路径。中止: git remote error: The remote server unexpectedly closed the connection.

  3. git://github.com/schacon/hg-git.git

    权限支持:

    HG-Git 支持通过此格式 克隆仓库 到本地.

    但是一旦推送本地修改到服务器,就会报错git remote error: You can't push to git://.git Use https://.git

    参考资料:

  4. git+ssh://git@github.com/schacon/hg-git.git

    以下引用自:

    If you want to clone a github repository for later pushing (or any other repository you access via ssh), you need to convert the ssh url to a format with an explicit protocol prefix.

    For example, the git url with push access

    git@github.com:schacon/hg-git.git

    would read

    git+ssh://git@github.com/schacon/hg-git.git

    (Mind the switch from colon to slash after the host!)

    翻译如下:

    假如需要克隆一个支持后续推送的仓库,

    那么就需要将 SSH URL 转换为一种特定的协议前缀(git+ssh://)的格式.

    例如原地址为

    git@github.com:schacon/hg-git.git

    需要转换为

    git+ssh://git@github.com/schacon/hg-git.git

    注意原地址域名后面的冒号之后的部分需要特别留意.

如何推送修改到一个现成的 Git 仓库?

  1. 得到目标 Git 仓库的 SSH 地址

    例如: git@github.com:schacon/hg-git.git

  2. 将其转换为特定的格式

    例如: git+ssh://git@github.com/schacon/hg-git.git

  3. 生成 SSH 私钥公钥

    在线的方式生成(不用安装特殊软件):

    通过软件生成:

  4. 将公钥添加到GitHub

  5. 将私钥转换为*.PPK格式

  6. 修改配置文件

    [ui]username = AsionTangssh = "D:\TortoisePlink.exe" -ssh -2 -C -i "D:\ye.github.ppk"
  7. 接受并缓存GitHub的Host Key

如何克隆一个现成的 Git 仓库到本地?

找到正确的 Git 仓库地址

例如
将其修改为 git://github.com/schacon/hg-git.git 一样格式的地址,正常克隆即可.

SSH 连接时出现错误Unable to use key file "id_ras" (OpenSSH SSH-2 private key (old PEM format))

将PEM私钥格式转换为*.PPK格式即可.

SSH 连接时出现错误Server refused our key

将仓库地址从 git+ssh://github.com/schacon/hg-git.git 改为 git+ssh://git@github.com/schacon/hg-git.git 后解决此问题. 在域名前多了个用户名 git@

附件列表

 

转载于:https://www.cnblogs.com/AsionTang/p/9336988.html

你可能感兴趣的文章
2016最新搜索引擎优化(SEO)重点要素
查看>>
当Web访问性能出现问题,如何深探?
查看>>
【IOS-COCOS2D-X 游戏开发之二】【必看篇】总结阐述COCOS2D-X与COCOS2D-IPHONE区别;
查看>>
eoLinker-API_Shop_通讯服务类API调用的代码示例合集:短信服务、手机号归属地查询、电信基站查询等...
查看>>
前端面试回忆录 - 滴滴篇 - 凉面
查看>>
jxl导入Excel 切割List 并使用MyBatis批量插入数据库
查看>>
小程序开发总结
查看>>
Tomcat监听器设计思路
查看>>
管理ORACLE实例
查看>>
Confluence 6 MySQL 数据库设置准备
查看>>
Ruby 中 0/0.0 = NaN
查看>>
JEESNS数据库表设计结构
查看>>
JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
查看>>
局域网访问Apache服务器
查看>>
JavaScript 闭包
查看>>
Spark算子:RDD行动Action操作(3)–aggregate、fold、lookup
查看>>
java获取当前时间前一周、前一月、前一年的时间
查看>>
话说WEB开发之页面重绘和回流
查看>>
using标识使用
查看>>
T264接口说明
查看>>