在git分支中工作时进行修复

在git分支中工作时进行修复,git,branch,Git,Branch,我想看看是否有更好的工作流程。假设我正在一个功能分支中工作,当我发现主代码中存在缺陷时,我已经在那里进行了一些提交。让我们假设一下,我想修正的地方有一个小错误。那我就得把它弄干净: # I am now in feature branch git stash # save current work git checkout master git checkout -b fix # ok, making a fixbranch could be passed #

我想看看是否有更好的工作流程。假设我正在一个功能分支中工作,当我发现主代码中存在缺陷时,我已经在那里进行了一些提交。让我们假设一下,我想修正的地方有一个小错误。那我就得把它弄干净:

# I am now in feature branch 
git stash              # save current work
git checkout master
git checkout -b fix    # ok, making a fixbranch could be passed
# fix the flaw
git commit
git checkout master
git rebase/merge fix   # whatever you prefer
git checkout feature
git stash apply
git rebase master
# now the flaw is fixed in my feature branch and in master and I can go on working
这确实需要很多步骤。或者,我当然可以修复feature分支中的缺陷,但在合并分支之前,它将在master中保持未修复状态。当我甚至不知道,如果我将合并分支,它可能会保持不固定


但是,有没有更好/不太复杂的方法来处理这个问题呢?

我认为您的工作流程是正确的

假设您有许多开发人员在同一个repo上工作。其他开发人员希望从您的快速修复中获益。专用的quickfix分支和主节点上的合并是一种明确的方法

如果您的团队删除过程很简单(例如,在主服务器上合并之前无需审查),您可以直接在主服务器上提交修复,而无需创建专用修复分支。简单,但可能会嵌入一些风险

假设现在您是唯一的开发人员。然后只需对功能分支的快速修复进行专门的提交。就这样


注意:您可以避免使用
git stash
功能,首先提交正在进行的工作,然后在返回您的分支时使用
git commit--amend