我有两个分支让我们说A和B.我在A中做了一些更改并将我的代码提交到A然后我将A合并到B中并进行了推动。
现在的问题是我在B中添加了一些不必要的文件。
我想要恢复到B的上一个版本。我看到很少有解决方案来执行hg update -r然后强行将其推送到repo,这可能会导致我不想做的新头。
请原谅我解释,这是第一次这样做。感谢。
答案 0 :(得分:0)
你可以站起来,删除不必要的文件,提交并推送。
转到你的分行B
hg update -r 3316
删除文件,提交并按
hg forget yourfilethere
hg commit -m "Remove unecessary files"
hg push
让我知道它是否有帮助!
答案 1 :(得分:0)
如果您想要删除或修改推送的修订版,那么我担心Mercurial(按设计)不支持此功能。 (您可以将修订版的阶段更改为“草稿”并删除或修改它,但是当您再次拉动时,旧版本将重新出现。)
如果你真的需要删除修订版(例如它包含一些大文件),那么在本地存储库中你无能为力;这可以做到的唯一方法是在远程存储库上(例如让管理员直接在远程存储库上运行hg strip
或其某些等效物; BitBucket接口支持剥离修订版。)
我们在工作中遇到了类似的问题,其中一些用户将非常大的文件提交到存储库,之后在存储库上完成了大量工作。我们解决它的唯一方法是使用'convert'扩展来删除文件,然后推入一个全新的存储库。 (如果我们刚刚将转换后的存储库推送到现有存储库,那么就会从提交错误文件的位置开始创建重复的修订版。)