当我工作时,我经常遇到这个工作流程:
此工作流程有一个缺点:它在我的系统中生成虚拟提交.我的问题是:我怎样才能避免这种情况?例如,当我回来工作时,我将取消之前的提交?
除了现有的两个答案(git reset和git stash)之外,我个人只是忽略了额外的提交(几乎有一个提交消息wip......),直到我准备将更改推送到远程位置,例如到github创建一个拉取请求.
那时,我git rebase -i用来查看我在该分支中提交的所有提交,并计算出我想要推送的提交 - 将提交压缩在一起并根据需要重写提交消息.
我个人发现这比使用起来更容易git stash,因为我通常会发现我忘记了什么东西是什么意思.(我的错,而不是在Git中的一个缺陷,但效果仍然不好.)我怀疑git reset将被罚款过,但因为我经常要变基反正最后的合并之前-例如为了应对代码审查意见-我有git rebase作为我的工作流程中更具智力的部分.