首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将工作目录复制到新提交

如何将工作目录复制到新提交
EN

Stack Overflow用户
提问于 2020-05-07 15:01:04
回答 2查看 31关注 0票数 1

我有以下提交结构:

代码语言:javascript
复制
a->b->c

现在,c是一个实验,它从b(到对b的任何更改都会在c中引起冲突)有很大的差异。我想留着c,但不想再维修链条了。因为b和c之间有太多的冲突,简单的重基将是一堆工作。

所以我想

代码语言:javascript
复制
a->b
 \->c'

其中,c'只是c中工作区的一个副本。在git中,我会使用git reset --soft a并为我的c'做一个新的提交,我能在mercurial中做一些类似的事情吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-07 22:08:38

听起来你想要使用revert --all

伪命令(字母ac表示提交的恢复):

  1. update -r a
  2. revert --all -r c
  3. commit -m "new c"
  4. strip -r c

使用thg使用revert的指南可以找到here

票数 2
EN

Stack Overflow用户

发布于 2020-05-07 15:21:41

所以我会贴出我最后做的事,但希望我得到一个更好的答案。

  1. 对a进行“什么都不做”提交(在我的例子中,我添加了一行)。我们需要假的,因为从nothing to rebase.

转到a会停止说b

代码语言:javascript
复制
a->b->c
\->f

  1. hg rebase -s b -d f --keep克隆整个分支:

代码语言:javascript
复制
a->b->c
\->f->b'->c'

  1. hg histedit,折叠c‘,丢弃f.

代码语言:javascript
复制
a->b->c
\->c''

  1. hg prune c

代码语言:javascript
复制
a->b
\->c''
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61661031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档