Git拉合并和推送特定更改,而不引入不相关的提交?

Git拉合并和推送特定更改,而不引入不相关的提交?,git,Git,我有一个开发分支和一个项目分支,项目分支有我想要开发的变更,但也有我还没有准备好投入开发的变更。项目分支充当我自己的“开发”分支,而开发分支是共享的 因此,我的步骤是: 从“开发”分支创建要素 git pull origin project.branch.name——不提交(这将给我提供差异,我可以在提交之前选择要添加到开发中的更改) git推送 这很好,只是它带来了与我正在推动的更改无关的提交。引入这些提交的问题是,下一次我想从项目中执行pull请求进行开发时,它将无法识别更改,因为devel

我有一个开发分支和一个项目分支,项目分支有我想要开发的变更,但也有我还没有准备好投入开发的变更。项目分支充当我自己的“开发”分支,而开发分支是共享的

因此,我的步骤是:

  • 从“开发”分支创建要素
  • git pull origin project.branch.name——不提交(这将给我提供差异,我可以在提交之前选择要添加到开发中的更改)
  • git推送
  • 这很好,只是它带来了与我正在推动的更改无关的提交。引入这些提交的问题是,下一次我想从项目中执行pull请求进行开发时,它将无法识别更改,因为develop将有提交,但没有代码更改

    我查看了cherry picking,但对于包含大量提交的更改来说,这是非常乏味的。有人有别的解决办法吗

    非常感谢

    更新
    经过广泛的研究,这显然不是很常见的工作以外的巨石。我咬紧牙关,摘樱桃,解决了这个问题。

    第二步让我头疼。您正在手动处理来自分支的更改?这是一个问题,有两个主要原因:

    • 您很容易(当然是不情愿地)通过动态编辑文件来添加错误
    • 即使在完成拉/合并操作之前,您在编辑过程中完美无缺,但如果您选择删除与您不希望在分支中包含的内容相关的更改,则当您完成拉/合并时,这些修订将成为分支历史的一部分

    你的方法可能还有其他问题,但这是我能想到的最大的两个问题。。。。它们是大的,你能用一个模式或一个日志来说明你的情况吗?你是如何挑选的?对于范围,在很多情况下都不难。我同意,对于范围,樱桃选择并不太糟糕,但我假设有一种替代方法,因为我觉得这是团队面临的常见情况。这只是手动确定要提交哪些文件,而不是手动编辑代码。我同意必须有更好的方法。您是否可以推荐其他方法?