git提交工作流程向后,并鼓励坏习惯

2021-03-30 00:25:07

图片现场,你'当您发现拼写错误并修复它时,在Codebase中的一个新功能上工作。然后,为了促进您的功能'重新致力于您决定在CodeBase中的其他地方进行小小的架构变革。最后,在完成您的会话之前,您决定在您正在处理的文件之一中重构一些代码。

那些会话很棒,因为你'重新流动。然后是时候逐步更改并提交您的作业,令人沮丧开始。你' ve在12个文件中变化,其中许多更改areN' t相关的与ack其他。你做什么工作?

"右和#34;要做的事情是花时间un-tandling你的变化,分组他们分组并致力于使用Hondthought-Out的提交消息。 git添加 - 键可以帮助这里,但它仍然繁琐的工作。或者,您可以只加入 - 所有人,并调用一天。

这些选择都不是好的,但Git并不是' T给我们很多选择。事实上,使用Git Seapsto的自然方式不可避免地导致这种情况。在这里'为什么:

Git迫使您在编码会话结束时写下您的提交消息 - 在您&#39之后,无论如何,已经将您的代码视为代码。

如果在编码会话期间上下文切换,则Git不知道它。事实上,Git ISN'甚至是在你之后的一部分,直到你完成写作代码。

最终,是"在区域"被Git受到惩罚,因为你被迫在你已经完成后写下你的工作描述。该工作流程是向后,Git应该允许抢占邮件。

我最近建立了一个名为git-plan的工具,它通过向git添加新的plan命令来尝试实现这一目标。当你运行Git计划时,您有机会提前编写您的提交消息。然后,当你' VE上演一些变化,你准备提交,只需运行Git计划提交,您可以使用您可以使用书面计划作为提交消息的模板。

git计划加 - >打开Vim以起草当前任务的提交消息

...启动编写代码,然后注意需要重构/错误的方法。

git计划加 - >打开Vim,因此您可以为新任务开始提交消息

git计划提交 - >要求您选择计划,因此您选择当前的任务'计划

重要的是说这不是一个魔药 - 你仍然可以在步骤4中最终获得太多的无关的变化,你必须解开。这个工具只能以新的方式使用Git,这可能导致您投入的更好的习惯。

所说的,我确实认为魔药是可能的。这是问题#1进入播放的地方:当您在编写代码时关键字切换时,您的工具不会与您切换......但它们应该。如果你的工具"知道"什么是你的工作是什么,没有理由原则上他们不能跟上你,因为你从文件a中的建立非法建立一个东西来修复文件B中的错误。

这是GIT计划的未来工作 - 建立一个手动暂存更改的GIT工作流程,因为您的工具可以跟上您。 如果有读者有兴趣为魔术药贡献,我很高兴为Git-Plan做出贡献。 ↑