Git - 存储当前提交将在以后添加到当前分支

时间:2017-11-10 15:09:00

标签: git github version-control

我希望我能很好地解释这一点。我确信这已经得到了回答,至少在片段中,但我不确定如何搜索它和/或以最佳方式为我的工作流程做到这一点。我也不完全确定使用不同方法的后果是什么。

情况

我已经从大师分支到feature-branch和承诺工作current-work(但尚未推进)。我发现,对于我未来的拉取请求的工作流程/审核原因,我应该在preliminary-automated-work之前提交preliminary-cleanup-workcurrent-work。它们必须以名为feature-branch的分支上的顺序出现。

问题

我应该如何存储/移动/存储/任何current-work以便我可以执行preliminary-automated-workpreliminary-cleanup-work并按顺序将这些提交到feature-branch然后恢复current-work并在之前的初步提交后将其提交到feature-branch

1 个答案:

答案 0 :(得分:1)

我建议如下:

  1. 创建一个临时的本地分支,例如重命名您的feature-branch

    $ git branch -m temporary-branch
    
  2. 从历史记录中的正确位置查看feature-branch。假设它只有一个提交:

    $ git checkout -b feature-branch HEAD~
    
  3. 提交preliminary-automated-workpreliminary-cleanup-work
  4. 结帐temporary-branchHEAD提交应为current-work
  5. 将您的temporary-branch重新定位到feature-branch

    $ git rebase feature-branch
    
  6. 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
    
  7. 删除temporary-branch(验证一切正确后)

    $ git branch -D temporary-branch
    
  8. 这样做的好处是(imho)在没有的时间点可能会失去工作(除了git branch -D:P)