使用 git 流程存储未完成的工作

Storing incomplete work with git flow

我刚刚进入阶段,像 git 流程这样的东西将在我的项目中派上用场,但我有点不确定当我使用该功能时如何在功能之间交换我目前的工作还没有完成。

所以如果我有一个项目并且我做了

$ git flow feature start feature1

然后做一些工作,但还没有完全达到我很乐意提交的阶段,然后我需要停下来处理另一个问题,在我做之前我应该​​如何处理我的工作

$ git flow feature start feature2

?

git stash 是正确的方法吗?它似乎并没有完全按照我的意愿去做,而且看起来很快就会变得非常混乱。但我绝对不想提交我的更改,将整个存储库重新克隆到另一个目录似乎很愚蠢,这样我就可以单独处理它了。

要在本地存储更改而不将它们推送到远程存储库,我只需在每次切换分支之前提交即可。 在我推送之前的最后,我将把所有相关的提交压缩到一个包含所有更改的提交中。

您可以找到压缩提交的说明 here

这就是 git stash 的基本原理!

就是说,您可以只创建一个提交,然后在返回时执行 git reset --soft HEAD^(删除提交,但保留工作副本中的更改)。