分类: LINUX
2010-02-01 17:46:43
对于一些比较常用的操作,总结如下。
1. Clone:
clone
2. 获得远程修改
hg pull + hg update --- git pull
hg pull之后可以看到修改的log,但文件可能并没有被修改,需要使用update。
3. 查看log
hg log –v | less (可以显示Signed-off-by:,默认不显示)
git log
4. 查看状态
status
5. 添加文件
add
6. 删除文件
rm
7. 上传
commit
8. 获得patch
hg export rev > my.patch
git-format-patch -1
9. 应用patch
git-am my.patch
hg import my.patch
10. 恢复
hg revert files & hg strip rev --- git reset [--hard|--soft] rev
git的恢复[到达]比较简单,--hard是完全恢复;--soft是从log中消除记录,但改动的内容不恢复。
hg的恢复有[复原]和[剥除]两个命令。
[复原]是指尚未提交的修改,恢复到修改前的状态。而[剥除]是指已经提交的修改,恢复到未修改/未提交的状态。[剥除]是个扩展命令,需要做下面的配置才能使用:
#vi .hg/hgrc
[extensions]
hgext.mq =
11. 建立服务器
git: 暂时没试验。
hg:
1) 创建repository所在目录(e.g. /home/user/hg),并创建hg repository。
# mkdir -p /home/user/hg
# cd /home/user/hg
# hg ***
# ls
xen-api-libs.hg xen-dist-ocaml.hg
2) 创建httpd CGI脚本所在目录(e.g. /home/user/webdir),并从mercurial的源码包里获得脚本hgwebdir.cgi,然后添加执行权限。
# mkdir -p /home/user/webdir
# cd /home/user/webdir
# cp /usr/src/redhat/BUILD/mercurial-1.1.2/hgwebdir.cgi .
# chmod 755 hgwebdir.cgi
3) 在CGI脚本所在目录创建配置文件hgweb.config(名称由hgwebdir.cgi里面的application = hgwebdir('hgweb.config')决定)。内容的话,
采用paths方法:
[paths]
xen-dist-ocaml.hg = /home/user/hg/xen-dist-ocaml.hg
xen-api-libs.hg = /home/user/hg/xen-api-libs.hg
采用collections方法:
[collections]
/home/user/hg = /home/user/hg
为了不必每次追加新的repository都要修改此文件,建议用collections方法。
4) 修改httpd的配置文件,设置httpd启动时执行CGI脚本hgwebdir.cgi并设置URL路径。追加如下设置:
ScriptAlias /hg "/home/user/webdir/hgwebdir.cgi"
5) 重启httpd服务
# service httpd restart
6) 验证是否可以WEB访问
* 更详细的说明参考http://mercurial.selenic.com/wiki/PublishingRepositories