为简单起见,假设我有一个提交了 5 个变更集的 repo 协议(protocol)。我在变更集 2 和 4 中修改了文件 A。然而我是一个草率的程序员,我在 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 的工作。
最佳答案
答案取决于您在变更集 4 中所做的一切是否愚蠢,或者您是否只想恢复在变更集 2 中找到的这个文件。
如果变更集 4 中的所有内容都是一个坏主意,请撤消整个变更集:
hg backout -r4
如果您只需要将单个 FILE 的状态恢复为变更集 2 的状态,则使用
hg revert -r2 FILE
关于version-control - Mercurial:提交所有内容后恢复到旧版本文件的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769227/