Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Mercurial fork父存储库?_Mercurial_Tortoisehg - Fatal编程技术网

如何使用Mercurial fork父存储库?

如何使用Mercurial fork父存储库?,mercurial,tortoisehg,Mercurial,Tortoisehg,例如,存在一个项目设置环境。它包含以下文件: //project A .some_config_file script_1 在项目B从A分支出来之后,进行了一些更改 // project B M .some_config M script_1 在项目A中,对脚本_1中的一些特性或错误进行了改进 当我尝试将新特性hg pul-u'repA'从A拉到B时,它会将旧的.some_配置带回存储库并覆盖实际的配置 我的问题是: 如何解决这些冲突 如何从fork父级提取部分更改 与父母合作的最佳实践是什

例如,存在一个项目设置环境。它包含以下文件:

//project A
.some_config_file
script_1
在项目B从A分支出来之后,进行了一些更改

// project B
M .some_config
M script_1
在项目A中,对脚本_1中的一些特性或错误进行了改进

当我尝试将新特性hg pul-u'repA'从A拉到B时,它会将旧的.some_配置带回存储库并覆盖实际的配置

我的问题是:

如何解决这些冲突

如何从fork父级提取部分更改

与父母合作的最佳实践是什么

从分叉的代表那里拉,污染了当地的代表


您似乎不熟悉“工作副本”和存储库作为单个变更集树的区别

解决方案可能是:将工作副本更新到fork B。然后将原始项目fork A合并到当前签出的版本fork B中。注意在合并过程中只接受要合并的更改,并放弃对.some\u config所做的任何更改


除此之外,在repo中使用配置文件通常是个坏主意。这里只有示例配置文件,并将其命名为这样的文件,并将实际的配置文件放在外部,不进行跟踪。

config不包含安全信息,它只是基本的项目属性,示例是虚构的。我做了您所说的事情,但有一个问题。这两个项目都有dev和master分支。当我把一个主分支拉到B时,它会扰乱我的本地代表主分支。我必须合并master和dev,这会变得一团糟。是否有任何方法可以忽略这一点,是否可以拉到表示父rep的主分支的某个单独分支?您可以显式地为push或push命令指定分支名称?我可以像hg pull-r master parent_rep那样提取某些分支,但如何将其保存为例如parent branch?我不确定是否理解您的评论问题。检查hg帮助拉。。。提交总是包含它所属的分支的信息。因此,如果您告诉一个命令只按/拉/任何“master”,它就会这样做。尝试在不更新工作副本的情况下拖动。。。这是mercurial的默认设置,除非您覆盖它或使用某种工具。
// project A
M script_1