为了简单起见,假设我有一个包含5个变更集的回购。我在变更集2和4中修改了文件A.然而,我是一个邋program的程序员,我在4中所做的更改是错误的。我希望将文件恢复到变更集2中的确切位置。其余的变更集会解决我不想恢复的其他文件。
最好的方法是什么?我只知道愚蠢/不聪明的方式:(
changeset: 1 user: jdf date: summary: first change, other file changeset: 2 user: jdf date: summary: file A change - this is the file I want in this state changeset: 3 user: jdf date: summary: change, other file changeset: 4 user: jdf date: summary: file A change - this was dumb and I don't want it changeset: 5 user: jdf date: summary: change, other file
因此,在假设的变更集6中,我将文件A置于变更集2之后的相同状态,但没有丢失变更集3和5中的工作。
答案 0 :(得分:3)
答案取决于你在变更集4中所做的一切是否愚蠢,或者你是否只想恢复变更集2中的这个文件。
如果变更集4中的所有内容都是个坏主意,请撤消整个变更集:
hg backout -r4
如果您只需要将单个FILE的状态恢复为变更集2的状态,则使用
hg revert -r2 FILE
答案 1 :(得分:2)