Von*_*onC 16
你可以这样做:
$ git branch task1 # first set of commit to do
Run Code Online (Sandbox Code Playgroud)
当您向索引缓慢添加一些内容时,中间分支可用于记录某些中间提交.
然后尝试交互式会话以添加您想要的内容:
$ git add -i
Run Code Online (Sandbox Code Playgroud)
在您想要检查添加内容的任何时候添加:
$ git stash --keep-index
Run Code Online (Sandbox Code Playgroud)
如果它编译,git commit您当前的工作,如果task1还没有完成,git stash pop恢复完整工作树并重复.
一旦task1完全烘焙,您可以修剪所有这些' task1'提交,并合并master中的所有工作:
$ git checkout master
$ git merge task1
$ git branch -D task1 # no need for that intermediate branch
Run Code Online (Sandbox Code Playgroud)
如果你想节省一些显著的历史task1提交,你可以变基先task1于主之上,合并前master的task1(快进)
最后,如果您的存储仍包含正在进行的某些工作,请重复所有过程task2.