【发布时间】:2018-07-17 00:29:14
【问题描述】:
自上次提交以来,我已经对代码库进行了几项独立的、不相关的更改。理想情况下,每个更改都应该在自己的分支中进行,但这并没有发生。现在,我想将每个单独的更改移动到一个单独的分支中,以便我可以发布其中一个,并在将来的某个时间将剩余的更改合并到第二个发布分支中。
我看到similar question 的答案涉及采摘樱桃。但是,尚未提交任何更改,我希望以最简单、最直接的方式进行。
在最坏的情况下,我可能会分别记录每个更改,分别记录这些更改,然后丢弃所有更改,创建单独的分支,并在单独的分支中进行每个更改。有没有涉及一些 git 命令的更简单的方法?
【问题讨论】:
-
我不太喜欢使用
git stash。我在这里要做的是创建一个新的分支名称,例如combined并提交。你现在有一个可以挑选的提交。回到您要处理的分支,运行git cherry-pick -n combined以获取已提交的更改而不提交,然后git reset <file>也取消暂存未提交的更改;然后使用git add -p仅暂存部分更改,并提交该部分(然后使用git reset --hard折腾剩余部分)。对每个额外的分支重复此操作。