dra*_*vic 3 version-control mercurial dvcs tortoisehg
假设我在本地仓库中有几个提交,并且在工作目录中有一些未经修改的更改.之后hg pull
,hg update
我从中央仓库获得了几个新的变更集,在本地仓库中创造了新的头脑.
现在假设,我不想合并这两个头并推送,在这种情况下,当我尝试合并时,我会得到消息,即我在工作目录中有未经修改的更改.
同样,假设我不想使用hg shelve
以搁置未经修改的更改并合并而没有问题,但是想通过使用创建线性历史记录hg rebase
,所以我将我的提交放在提交的提交之上.当我做底垫,有效地我做了合并,所呈现在这里,下hg rebase
章.
现在我的问题是,我是否会收到相同的错误消息:"无法进行合并,存在未经修改的更改",因为hg rebase
隐式合并是否存在?
如果是,那么我将不得不hg shelve
在两种情况下都使用:两个头的显式合并和变基时的隐式合并,不是吗?
提前谢谢,
干杯
简单的答案是肯定的.hg rebase
当您进行未提交的编辑时,将不允许您执行rebase.有一些解决方案,其中没有一个是完美的:
提交你的奥斯坦丁工作,做底垫,然后hg export tip > foo.patch
,hg strip tip
和hg import --no-commit foo.patch
.
使用hg shelve
.我没有详细评论,因为我没有尝试过.
创建一个新的命名分支,hg branch <branch-name>
并在命名分支上提交您的杰出工作.然后,您可以使用hg rebase --keepbranches --base <branch-name> --dest default
在新更改的基础上重新设置工作分支.我个人认为使用命名分支(从不将我的克隆转移到上游)是一种非常好的方式来管理这种工作流,因为它可以很容易地在上游和我当前的项目之间来回移动,并且承担分支机构不会受到处罚.
归档时间: |
|
查看次数: |
2639 次 |
最近记录: |