下面是两个无关文件“a”和“b”合并的示例。
请注意,我滥用了列表格式,因为我不知道如何使用这个系统。似乎是标题但以“摘要:”开头的行实际上是从hg输出的,恰好是空行前面的最后一行。所有其他标题都是我自己的注释,解释命令/序列及其输出。命令出现在具有“Timeless MBP:…$”的行上。所有其他行都输出。
安装程序
timeless-mbp:~ timeless$ cd /tmp
timeless-mbp:tmp timeless$ rm -rf q
timeless-mbp:tmp timeless$ hg init q
timeless-mbp:tmp timeless$ cd q
定义我的用户名
timeless-mbp:q timeless$ echo '[ui]' > .hg/hgrc
timeless-mbp:q timeless$ echo 'username = timeless' >> .hg/hgrc
首先创建、添加和提交文件A
timeless-mbp:q timeless$ echo a > a
timeless-mbp:q timeless$ hg commit -Am a
adding a
从新的草稿修订版开始(空)
timeless-mbp:q timeless$ hg up -r null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
创建、添加和提交文件B
timeless-mbp:q timeless$ echo b > b
timeless-mbp:q timeless$ hg commit -Am b
adding b
created new head
切换回我们的第一个文件,这只是为了创建一个交错的版本历史记录。
timeless-mbp:q timeless$ hg up -r 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
将a重命名为file,因为我们要将其与b合并,名称为“file”
timeless-mbp:q timeless$ hg mv a file
timeless-mbp:q timeless$ hg commit -m 'rename a to file'
切换回第二个文件,这只是为了创建一个交错的版本历史记录。
timeless-mbp:q timeless$ hg up -r 1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
将B重命名为文件,因为我们要将其与名为“file”的a合并
timeless-mbp:q timeless$ hg mv b file
timeless-mbp:q timeless$ hg commit -m 'rename b to file'
我之所以强制使用内部合并,是因为我不希望弹出合并工具,您可以使用其他合并工具(例如,在带有现代版Mercurial的OS X上,它往往会弹出filemerge.app,但很难在日志中显示)。
timeless-mbp:q timeless$ hg --config ui.merge=internal:local merge 2
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
用我想要的内容替换内容
timeless-mbp:q timeless$ hg cat -r 2 file > file
timeless-mbp:q timeless$ hg cat -r 3 file >> file
确认它现在有我想要的内容
timeless-mbp:q timeless$ cat file
a
b
提交“合并”文件
timeless-mbp:q timeless$ hg commit -m merging
查看存储库历史记录
timeless-mbp:q timeless$ hg log
changeset: 4:d9d3d23ec1cc
tag: tip
parent: 3:01c6a61cbe04
parent: 2:3de70df713a7
user: timeless
date: Wed Jun 02 16:10:08 2010 +0300
summary: merging
changeset: 3:01c6a61cbe04
parent: 1:e6b8058965b4
user: timeless
date: Wed Jun 02 16:09:43 2010 +0300
summary: rename b to file
changeset: 2:3de70df713a7
parent: 0:635f50240100
user: timeless
date: Wed Jun 02 16:09:30 2010 +0300
summary: rename a to file
changeset: 1:e6b8058965b4
parent: -1:000000000000
user: timeless
date: Wed Jun 02 16:09:17 2010 +0300
summary: b
changeset: 0:635f50240100
user: timeless
date: Wed Jun 02 16:09:01 2010 +0300
summary: a
检查注释输出
timeless-mbp:q timeless$ hg ann -f -c file
635f50240100 a: a
e6b8058965b4 b: b