如果您要将存储库 B 中的更改 merge 到存储库 A 中,是否应该 merge .hgtags 中的更改?
存储库 B 可能具有 A 中没有的标签 1.01、1.02、1.03。为什么要将这些 merge 到存储库 A 的 .hgtags 文件中?如果我们 merge 然后尝试通过查看标签 1.01 来查看存储库 A,我认为这是行不通的。
最佳答案
简短回答:这确实可以正常工作,您应该 merge .hgtags
为什么应该真正 merge .hgtags
以及为什么它有意义?
所以你有
- 代码库 A 包含变更集 3 (a1)、4 (a2)、5 (a3)
- 代码库 B 包含变更集 3 (b1)、4 (b2)、5 (b3) 标记 1.01
以上列为变更集编号(长唯一十六进制 ID)标签
因此,您将存储库 B merge 到存储库 A 中,并得到如下所示的内容。
9 (a4) merge
/ \
| 8 (b3) tag 1.01
| |
| 7 (b2)
| |
| 6 (b1)
5 (a3) |
| |
4 (a2) |
| |
3 (a1) |
\ /
2 (a0)
如果您将存储库更新为标签 1.01,您将得到与该时间点代码在存储库 B 中时完全相同的代码,正如 Mercurial 所 promise 的那样。
您应该 merge 它们,因为存储库 B 中标记的变更集现在是存储库 A 中变更集树的一部分,因此您在存储库 B 中标记的变更集现在标记在存储库 A 中。不 merge 它们只会导致您丢失您为变更集创建的标签。
关于Mercurial - .hgtags 应该 merge 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080291/