使用git开发时的错误修正

时间:2012-12-12 21:16:31

标签: git workflow

我想知道是否有人可以就接近发展的最佳方式提出建议。使用git时修复bug。我的公司最近转移到github以保持集中回购。 我们通常有一个主分支,这是我们在生产站点中拥有的。 然后我们有一个开发分支,我们用它来保持对master分支的未来更新,并且每个编码器都拥有它自己的一组分支(老实说,集合通常不大于1),一旦变化被合并到开发中批准。

事情是,除了开发之外,我每隔一段时间就必须做一些bug修复。

由于通常我的工作分支相当脏,有很多修改过的文件,我保留了始终位于开发分支中的存储库的单独副本,因此我不必担心在更改存储/更改分支时错误修复,但我想知道你是否有人建议如何处理这个问题?

基本上,我发现这样做的唯一方法是隐藏我的更改,然后更改分支,但我不喜欢这样。

我已经检查了在输入时给出的几个建议,而不是一个甚至是关闭的。

感谢。

1 个答案:

答案 0 :(得分:2)

我个人认为没有很多修改过的文件是件好事。我更喜欢很多较小的提交,虽然有时我会对一个我忘记提交内容的问题感到兴奋(但更多的是更大的功能)。

在这些情况下,我会藏匿并切换分支。如果由于修改数据的大小或种类而不是一个选项,您还可以创建一个临时存储分支并执行提交,只需检查当前正在其中的所有内容。当您返回并重新签出原始分支时,您可以使用git reset撤消该提交(或者只是在您正在处理的分支上执行相同的操作)。这允许(与存储相反)也检入尚未在索引中的文件。把它想象成一个扩展的藏匿处。

临时存储分支的优点是您也可以将其推送到远程存储分支,例如继续在另一台设备上工作(我使用它来同步设备之间的脏工作树,如果我必须中止开发并继续在另一台设备上运行)。

git-flow是一个很好的帮手,可以为bugfix分支等维护一个干净的分支工作流程。我不认为它遵循上面的提议。

另一方面,应该注意的是,拥有一个干净的bughunting存储库(如果bug的来源不明显)可能会有所帮助。有时,与报告用户的版本相比,细微的变化已经悄然发生。