我可以结账吗;一次提交几个Mercurial hg分支?
我从互联网上分出了一个项目,我想写一些新特性。我想同时编写几个正交功能(例如调试助手、新功能X、新功能Y),并将所有这些功能的代码都放在我的当前目录中,但当我提交时,我希望能够说“这些文件转到分支‘调试’”,“那些文件转到分支‘功能X’”,等等,这些是“hg分支”意义上的分支 原因是上游项目可能不想合并我的调试助手或黑客错误修复,但我当然想在开发我的功能时使用它们 实际上,我只想将这些文件中的更改应用于分支,但要将几个分支签出并合并到我当前的工作目录中 这可能吗?也许有一些hg扩展可以做到这一点我可以结账吗;一次提交几个Mercurial hg分支?,mercurial,merge,commit,branching-and-merging,Mercurial,Merge,Commit,Branching And Merging,我从互联网上分出了一个项目,我想写一些新特性。我想同时编写几个正交功能(例如调试助手、新功能X、新功能Y),并将所有这些功能的代码都放在我的当前目录中,但当我提交时,我希望能够说“这些文件转到分支‘调试’”,“那些文件转到分支‘功能X’”,等等,这些是“hg分支”意义上的分支 原因是上游项目可能不想合并我的调试助手或黑客错误修复,但我当然想在开发我的功能时使用它们 实际上,我只想将这些文件中的更改应用于分支,但要将几个分支签出并合并到我当前的工作目录中 这可能吗?也许有一些hg扩展可以做到这一点
谢谢 我不完全理解你为什么要这样做。如果特征是正交的,则可以独立处理它们,直到它们准备好合并。毕竟,这正是分支的用途 但要回答您的问题:您可以在分支上提交,然后,作为一种工作流程,始终将
up
设置为默认值并将其合并。这将保留默认分支作为其他功能的总和。但是,在提交之前,您需要更新
到功能分支,这可能会变得很乏味
事后确定要提交到哪个分支的另一个选项是使用扩展。在这种情况下,您需要提交更改,然后执行hg rebase-d targetBranch
不过,我不建议将历史记录修订作为标准工作流程的一部分。这对我来说很难闻。我不完全理解你为什么会这样做。如果特征是正交的,则可以独立处理它们,直到它们准备好合并。毕竟,这正是分支的用途 但要回答您的问题:您可以在分支上提交,然后,作为一种工作流程,始终将
up
设置为默认值并将其合并。这将保留默认分支作为其他功能的总和。但是,在提交之前,您需要更新
到功能分支,这可能会变得很乏味
事后确定要提交到哪个分支的另一个选项是使用扩展。在这种情况下,您需要提交更改,然后执行hg rebase-d targetBranch
不过,我不建议将历史记录修订作为标准工作流程的一部分。这对我来说很难闻。看看有没有调试助手或本地黑客之类的东西。对于仅在本地需要且可能要应用于任何修订/分支的修补程序非常有用
对分支执行相同的操作会变得单调乏味,因为您必须非常小心地对不同分支上的调试和功能进行更改,然后将它们合并到本地一次性分支中,以便运行任何操作。您可能会在功能分支上出现大量更改集,使树处于断开状态,因为您只能在提交后进行测试。查看调试帮助程序或本地黑客之类的内容。对于仅在本地需要且可能要应用于任何修订/分支的修补程序非常有用
对分支执行相同的操作会变得单调乏味,因为您必须非常小心地对不同分支上的调试和功能进行更改,然后将它们合并到本地一次性分支中,以便运行任何操作。您可能会在功能分支上得到很多变更集,这些变更集会使树处于断开状态,因为您只能在提交后进行测试