git - 使用 git 开发时修复错误

标签 git workflow

我想知道是否有人可以就使用 git 时进行开发和错误修复的最佳方法提供建议。我的公司最近转移到 github 以保留集中的存储库。 我们通常有一个主分支,这就是我们在生产站点中的分支。 然后我们有一个开发分支,用于将 future 的更新保存到主分支,并且每个编码器都有自己的一组分支(老实说,该组通常不大于 1),一旦更改完成,这些分支就会 merge 到开发中已批准。

事实是,除了开发之外,我确实必须时不时地修复一些错误。

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

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

我已经检查了输入此内容时给出的几条建议,但没有一个是接近的。

谢谢。

最佳答案

我个人认为拥有大量修改过的文件并不是一件好事。我更喜欢很多较小的提交,尽管有时我会对忘记提交内容的问题感到兴奋(但这对于较大的功能来说更是如此)。

在这些情况下,我会 stash 并切换分支。如果由于修改数据的大小或类型而无法选择此选项,您还可以创建一个临时存储分支并进行提交,仅检查当前存在的所有内容。当您返回并重新 checkout 原始分支时,您可以使用 git reset 撤消该提交(或者在您一直在处理的分支上执行相同的操作)。这允许(与存储相比)还 checkin 尚未在索引中的文件。将其视为扩展的存储空间。

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

git-flow是一个很好的 helper ,可以为错误修复分支等维护干净的分支工作流程。不过,我认为它并不遵循上面的建议。

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

关于git - 使用 git 开发时修复错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848791/

相关文章:

git: squash/fixup 更早的提交

email - 使用 MS Dynamics Crm 2011 中的工作流创建电子邮件并动态填充 "To"字段

Git/SCM 工作流程 : Handling changes when QA finds problems

clojure - 有没有好的 ClojureScript 工作流程?

git ignore vs. exclude vs. assume-unchanged

git - 为什么我通过1970年的go-git提交内容?

git - 使用在 mercurial 存储库中有另一个 git subrepo 的 git subrepo,这可能吗?

svn - Git 通过 svn 管理文件

workflow - 有没有办法在 sublime text 2 中平移?

git - 重写历史 git filter-branch create/split into submodules/subprojects