我一直使用 Git 作为源代码管理工具。现在我的工作流程很简单:
- 考虑一个最小的新功能/重构
- 编码
- 用 HEAD 查看 diff
- 犯罪
我想通过使其更灵活来改进此工作流程。原因是我遇到过几次以下情况,我认为这是一个典型的情况:
提交后,我开始修改工作目录以添加新功能。
我编码了一会儿,让工作目录的状态此时为A。这里重要的是状态 A 工作目录尚未准备好提交,因为新功能尚未完成。
在这一点上,我意识到最好先执行重构。承认吧,在代码修改的过程中,有时重构的需要变得很明显。
现在我需要从 HEAD 重新开始并首先进行重构。但是我不想丢失代码 HEAD -> state A 的修改。所以基本上我需要:
- 在上次提交后尚未更改的工作目录副本中进行重构
- 提交它
- 在工作目录处于状态 A 时合并我已启动并停止的新功能的工作
- 完成新功能的工作
- 提交它
我相信这是分支可以帮助我的地方,但是我在确定正确的 git 命令时遇到了问题。我很困惑,当工作目录在提交后更改时我需要创建一个分支,我不知道处理这个问题的正确方法。
用 Git 命令来描述上述工作流程的正确方法是什么?