我希望我能很好地解释这一点。我确信这已经得到了回答,至少在片段中,但我不确定如何搜索它和/或以最佳方式为我的工作流程做到这一点。我也不完全确定使用不同方法的后果是什么。
我已经从大师分支到feature-branch
和承诺工作current-work
(但尚未推进)。我发现,对于我未来的拉取请求的工作流程/审核原因,我应该在preliminary-automated-work
之前提交preliminary-cleanup-work
和current-work
。它们必须以名为feature-branch
的分支上的顺序出现。
我应该如何存储/移动/存储/任何current-work
以便我可以执行preliminary-automated-work
和preliminary-cleanup-work
并按顺序将这些提交到feature-branch
然后恢复current-work
并在之前的初步提交后将其提交到feature-branch
?
答案 0 :(得分:1)
我建议如下:
创建一个临时的本地分支,例如重命名您的feature-branch
$ git branch -m temporary-branch
从历史记录中的正确位置查看feature-branch
。假设它只有一个提交:
$ git checkout -b feature-branch HEAD~
preliminary-automated-work
和preliminary-cleanup-work
temporary-branch
(HEAD
提交应为current-work
)将您的temporary-branch
重新定位到feature-branch
$ git rebase feature-branch
将feature-branch
快进到temporary-branch
$ git checkout feature-branch
Switched to branch 'feature-branch'
Your branch is ahead of 'origin/feature-branch' by 2 commits.
(use "git push" to publish your local commits)
$ git merge --ff-only temporary-branch
删除temporary-branch
(验证一切正确后)
$ git branch -D temporary-branch
这样做的好处是(imho)在没有的时间点可能会失去工作(除了git branch -D
:P)