使用git开发时的错误修复

使用git开发时的错误修复,git,workflow,Git,Workflow,我想知道是否有人能在使用git的同时提供关于开发和bug修复的最佳方法的建议。我的公司最近转移到github以保持集中回购。 我们通常有一个主分支机构,这就是我们在生产现场的分支机构。 然后我们有一个开发分支,我们使用它来保持对主分支的未来更新,每个编码者都有自己的分支集(老实说,这个分支集通常不大于1),一旦更改被批准,这些分支集就会合并到开发中 问题是,除了开发,我确实需要每隔一段时间做一些bug修复 由于我的工作分支通常比较脏,有很多修改过的文件,所以我保留了一个存储库的单独副本,它总是在

我想知道是否有人能在使用git的同时提供关于开发和bug修复的最佳方法的建议。我的公司最近转移到github以保持集中回购。 我们通常有一个主分支机构,这就是我们在生产现场的分支机构。 然后我们有一个开发分支,我们使用它来保持对主分支的未来更新,每个编码者都有自己的分支集(老实说,这个分支集通常不大于1),一旦更改被批准,这些分支集就会合并到开发中

问题是,除了开发,我确实需要每隔一段时间做一些bug修复

由于我的工作分支通常比较脏,有很多修改过的文件,所以我保留了一个存储库的单独副本,它总是在开发分支中,所以我不必担心在修复bug时更改存储/更改分支,但我想知道你们中是否有人对如何处理这个问题有建议

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

我已经检查了SO在键入此内容时给出的几个建议,没有一个是接近的


谢谢。

我个人不认为有很多修改过的文件是一件好事。我更喜欢较小的提交,尽管有时我会因为忘记提交内容而感到兴奋(但对于较大的功能,这更重要)

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

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

是一个很好的助手,可以为bug修复分支等维护干净的分支工作流。。不过,我不认为它符合上述建议


另一方面,应该注意的是,拥有一个干净的bug搜索库(如果bug的来源不明显的话)会很有帮助。有时,与报表用户的版本相比,会出现细微的变化。

我会使用与您相同的方法—保留第二个存储库。然后,应该对该存储库中特定于Bug的分支(来自相应的源分支)进行Bug修复。在当前分支上继续使用stash等的问题在于它具有侵入性。我还发现,如果依赖项跟踪不完美,可能会让一些工具有点困惑,尽管这通常表明存在其他问题。只是一个意见。