如果只是为了看一个程序的行为,
hg up -r 1000
Run Code Online (Sandbox Code Playgroud)
完成,而当前的修订版是1020.
然后对2个文件进行了一些更改,并且意外地提交了文件.
所以现在从版本1000到1020进行了更改,还有一些更改从1000直接到1021 ......
在这种情况下,应该如何处理?
至少有一种可能性
hg backout -r 1021
hg up tip
Run Code Online (Sandbox Code Playgroud)
并进行更改,好像1021没有发生任何事情.另一个选项是否hg merge需要注意代码的合并方式?(因为从1000到1021的所有更改都与相同的功能和相同的文件相关).或者除了这两个之外还有其他选择吗?
只是做合并.这不会很痛苦.
退出的人建议仍然会留下多个头.目前您的历史记录如下:
---[1000]---[1001]--....--[1019]--[1020]
\
\----[1021]
Run Code Online (Sandbox Code Playgroud)
在1021退出后,它看起来像:
---[1000]---[1001]--....--[1019]--[1020]
\
\----[1021]---[1022]
Run Code Online (Sandbox Code Playgroud)
其中1021和1022会在逻辑上相互撤消,但你仍然有两个头.
合并后你会有
---[1000]---[1001]--....--[1019]--[1020]---[1022]
\ /
\----[1021]-----------------------/
Run Code Online (Sandbox Code Playgroud)
你可以在更新到1021之后做一个'hg commit --close-branch',这仍然会留下那个头但是会阻止它显示在列表上,但合并是一个更好的选择.
如果你还没有把1021推到任何地方你可以完全放弃它:
hg clone -r 1020 myrepo trimmedrepo
Run Code Online (Sandbox Code Playgroud)
然后你会有一个新的repo,trimmedrepo,包括1020(但没有1021).
我喜欢合并.
| 归档时间: |
|
| 查看次数: |
823 次 |
| 最近记录: |