在putty里面用vim用够了,于是在远端机上弄了个Hg的版本库,平时在本机做开发,然后写完直接push到远端编译。不想折腾太多的东西,所以就用的是Hg自带的web服务器。首先在远端某个目录里面新建一个Hg版本库
hg init
然后就可以在远端开服务了,为了少惹麻烦,用了个3456的端口
hg serve -p3456
然后在本地就可以找个目录直接把那边的东西拷过来了
hg clone <host> <local_dir>
使用hg clone的好处是在目录的.hg/hgrc文件中已经存放有默认提交/连接的地址,以后在使用hg pull或者hg push时不需要额外提供地址了。
[paths] default = <host>:<port>
在本地做过修改后,需要check in到版本库中才能成功的被push到远端。如果不加-m参数则会弹出一个编辑器让你输入log
hg ci <-m "log message">
在push的时候需要注意一个问题。为了安全起见,在默认情况下,Hg对于push是有一些限制的,首先需要SSL,其次需要提交改动的用户有权限。不过由于是自己使用嘛,所以可以在Hg的配置文件中把这两个限制取消,即在hgrc中加入以下几行
[web] push_ssl = false allow_push = *
根据自己的需求确定这几行加的位置(全局的配置还是某项目相关的配置)。添加过后即可在本地push改动到远端了。如果那个url已经添加到hgrc文件中,则不需要指定url参数(嗯,适合我这种懒人)。
hg push <url>
在远端此时只是把改动更新到版本库中,并没有把改动真正放到代码中,所以还要在远端运行一下更新命令
hg up
然后,就能编译了,于是一次简单的流程就完鸟。如果在远端有改动,在check in到版本库后,可以在本地使用pull命令把改动同步过来。
hg pull <url>
用vnc不就直接在远程目标机器上更改和编译了么?不过我是要好好学习你这篇,还不是很熟练hg
@caicai, 但是这边的网络环境不是很好啊,VNC占用带宽太大。公司的出口带宽跟不上~
呵呵,HG其实基本使用就这些简单的命令,我还没弄过branch什么的,那些好像有些麻烦。
可以试试 gedit,似乎比较舒服点。。。
用GUI网速跟不上哇,而且我要删那些个不小心按出来的jkl;~
再说了,有GUI我就直接gvim了~