Mercurial:如何处理被拒绝的拉取请求?

Mercurial:如何处理被拒绝的拉取请求?,mercurial,bitbucket,pull-request,Mercurial,Bitbucket,Pull Request,至少:如何干净地处理它 目前,我知道的唯一工作流程是:从主存储库中取消克隆+重新分支。 这真是太不理想了 另一种选择是与主要回购协议的tip合并,或者撤销变更集。 但是如果这样做,回退会出现在后续的拉取请求中吗 如果是这样的话,那么拒绝变更集及其撤销将导致主回购协议的尴尬 正确的工作流程是什么?视情况而定 如果您的fork是公共的,或者您希望保留拒绝,类似于此工作流的工作流程可能是理想的: 更新提示并执行hg ci--close branch 如有必要,从主存储库中提取 更新到属于主存储库的最新

至少:如何干净地处理它

目前,我知道的唯一工作流程是:从主存储库中取消克隆+重新分支。 这真是太不理想了

另一种选择是与主要回购协议的tip合并,或者撤销变更集。 但是如果这样做,回退会出现在后续的拉取请求中吗

如果是这样的话,那么拒绝变更集及其撤销将导致主回购协议的尴尬

正确的工作流程是什么?

视情况而定

如果您的fork是公共的,或者您希望保留拒绝,类似于此工作流的工作流程可能是理想的:

  • 更新提示并执行hg ci--close branch
  • 如有必要,从主存储库中提取
  • 更新到属于主存储库的最新变更集,并在那里完成所有工作
  • 如果您的回购协议使用的是
    @
    书签,请将其移动到新标题
  • 如果您的fork不是公共的,您可以简单地去掉不再需要的变更集。在您的存储库设置中查找“strip changesets”选项。您还需要在回购的每个克隆上本地执行
    hg strip
    ;活动提要将提供要使用的精确命令

    如果您碰巧使用了实验性的Evolve扩展,您可以
    hg prune
    不需要的变更集,而不是上面描述的过程。这将使它们留在周围,但将它们从历史中隐藏,并防止它们被推或拉(在大多数情况下)。这是(旨在)一个“安全”操作,您可以对共享变更集执行此操作。如果有人从您的存储库中提取更改集,那么更改集也将在其存储库中自动删除。要撤消,请参阅
    hg touch
    命令

    注意:当您剥离变更集时,Bitbucket不会备份它们。请小心