将HG版本库推送到Git服务器
如何将HG版本库推送到Git服务器?
目的
习惯使用HG来进行版本管理,但是GitHub代码统计比Bitbucket要丰富,所以准备主力仓库选用Bitbucket,GitHub作为备用仓库.
GitHub本身不支持 HG 版本库,所以需要用到HG-Git扩展插件来实现转义或翻译成Git类型的版本库.
参考资料
TortoiseHg 启用 HG-Git 的方法
Windows 版本的 TortoiseHg 已经集成了 HG-Git 扩展插件 (及其必备运行环境 Dulwich) ,因此只需要在 .hgrc 配置文件里设置一下即可启动.
[extensions]
hggit =
填坑记录
几种 Git 仓库地址的区别
https://github.com/schacon/hg-git.git权限支持:可读 可写.
GitHub 内建的克隆方式.HG-Git 不支持.
使用此格式的地址克隆仓库时会出错提示:
中止: No module named selectors!git@github.com:schacon/hg-git.git权限支持:可读 可写.
GitHub 内建的克隆方式. 需要 SSH key 和 passphrase.HG-Git 不支持.
使用此格式的地址克隆仓库时会出错提示:
系统找不到指定的路径。中止: git remote error: The remote server unexpectedly closed the connection.git://github.com/schacon/hg-git.git权限支持:只读
HG-Git 支持通过此格式 克隆仓库 到本地.
但是一旦推送本地修改到服务器,就会报错
git remote error: You can't push to git://.git Use https://.git
参考资料:git+ssh://git@github.com/schacon/hg-git.git以下引用自:durin42 / hg-git - Usage — Bitbucket
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 仓库?
得到目标 Git 仓库的 SSH 地址
例如:
git@github.com:schacon/hg-git.git将其转换为特定的格式
例如:
git+ssh://git@github.com/schacon/hg-git.git生成 SSH 私钥公钥
在线的方式生成(不用安装特殊软件):
- Free Online Private and Public Key Generator
- Online RSA Key Generator
- ONLINE Generate ssh RSA key,public key,private key,generate ssh pair
- Online Generate SSH keys algorithm RSA,DSA,ECDSA
通过软件生成:
将公钥添加到GitHub
将私钥转换为*.PPK格式
- Convert SSH private key with PuTTY keygen : Some tutorials and articles
- linux私钥id_rsa转换成ppk - CSDN博客
- Site5 KnowledgeBase » SSH: Convert SSH Keys to PPK Format
- How to convert PuTTY's .ppk to SSH key
- Converting OpenSSH and PuTTY Style Keys
- Use SSH Keys with PuTTY on Windows | ProfitBricks DevOps Central
修改配置文件
[ui]
username = AsionTang
ssh = "D:\TortoisePlink.exe" -ssh -2 -C -i "D:\ye.github.ppk"
接受并缓存GitHub的Host Key
如何克隆一个现成的 Git 仓库到本地?
找到正确的 Git 仓库地址
例如 https://github.com/schacon/hg-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@
附件列表
将HG版本库推送到Git服务器的更多相关文章
- 定时取数据库的schema,并推送到git服务器
写了个脚本,定时去数据库取schema,并推送到公司的git里. #daily_schema.py #/usr/bin/env python import os import datetime,tim ...
- git初始化本地项目并推送到git服务器
1.创建本地项目,在项目根目录执行git init命令 git init 2.在git服务器上创建一个仓库,这里使用GitHub创建一个仓库. 3.执行git remote add origin &l ...
- Git push将本地版本库的分支推送到远程服务器上对应的分支
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构. g ...
- git 版本落后推送错误
http://114.215.90.144/student_association/student.git ! [rejected] master -> master (non- ...
- Vs中提交了代码但是不想推送到Git中
1:首先就是我fix code 是要提交上去的,所以我就开始提交呢,但是,一看提交后,还没有推送到git就是现在下面的这个状态 上面这个是==> 这是先新增的文件,第一步.但是第一步就差推送了, ...
- JavaCV 采集摄像头和麦克风数据推送到流媒体服务器
越来越觉得放弃JavaCV FFmpeg native API,直接使用JavaCV二次封装的API开发是很明智的选择,使用JavaCV二次封装的API开发避免了各种内存操作不当引起的crash. 上 ...
- 上传文件到服务器端后进一步推送到sftp服务器
扩展安装 要想sftp服务端发送文件,就需要php脚本具有作为ssh客户端的能力,所以需先为php安装如下扩展 openssl openssl-dev libssh php ssh 扩展 按照下面的命 ...
- javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- windows环境下,spring boot服务使用docker打包成镜像并推送到云服务器私有仓库
最近在淘宝上学习springcloud教程,其中有几节课是讲解讲本地springboot服务打包成镜像并推送到云服务器私有仓库,但是教程里面用的事Mac环境,我的是Windows环境,而且课程里面没有 ...
随机推荐
- ScrewTurn Wiki 详细安装(.net 版本下的免费wiki) 步骤
首先看下官网: http://www.sunhorizon.info/Default.aspx 1.下载和安装 ...
- Unity-EasyTouch插件之ReservedArea的运用(主要是避免JoyStick与Touch的矛盾)
昨天有人问我,easytouch插件中有个小bug,其实也不算是bug,插件的设计者早就考虑到这样的情况. 他说同时用easyjoystick和easytouch会发生,移动摇杆的时候,touch(触 ...
- Netty游戏服务器之三搭建Unity客户端
既然已经写完了相关的服务器处理类,那么我们就来搭建客户端测试一下. 打开我们的unity3d,然后新建一个c#脚本,取名为MainClient. public class MainClient : M ...
- Android内存优化8 内存检测工具2 LeakCanary——直白的展现Android中的内存泄露
之前碰到的OOM问题,终于很直白的呈现在我的眼前:我尝试了MAT,但是发现不怎么会用.直到今天终于发现了这个新工具: 当我们的App中存在内存泄露时会在通知栏弹出通知: 当点击该通知时,会跳转到具体的 ...
- 关于weblogic server对docker的支持
Docker是目前比较热门的一个技术话题,WebLogic Server从12.1.3版本支持Docker,但对于操作系统和内核有一定的要求,具体参考下表 我曾在ubuntu,Oracle Enter ...
- 使用Apache POI导出Excel小结--导出XLS格式文档
使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI ...
- if __name__=='__main__"在有的virtualenvs环境下执行成功,在有的环境下执行失败?
我的项目是erebus,所以默认的python解释器位于virtualenvs下的erebus,但是这个执行环境执行某个py文件总是失败,换其他的执行器执行反而没有问题: 排查了半天,才发现erebu ...
- entity framework 去缓存
MSDN上对MergeOption枚举的定义为: 成员名称 说明 AppendOnly 不会从数据源加载对象上下文中已存在的对象.这是查询或调用 EntityCollection<(Of < ...
- 对自助提卡系统EDLM的一次代码审计
前言 并非有意愿要审计该站,前面的走的黑盒没有过于精彩部分就不在贴上了,对于此系统站你们懂的,多说无益,这套程序是开源的,像这种自助提卡系统相信大家已经不在陌生了,很多违法网站通过这种平台方式提卡密的 ...
- 跟着我从零开始入门FPGA(一周入门XXOO系列)-1、Verilog语法
(本连载共七部分,这是第一部分) 作者:McuPlayer2013 (EETOP FPGA版块版主) 原帖地址:http://bbs.eetop.cn/thread-385362-1-1.html ...