2012-06-26 83 views
27

我一直在使用git流。我正在尋找分支模型來解決開發分支中發現的問題和錯誤。我知道我們可以使用hotfix,但它是用於master分支的,或者是用於生產的快速bug修復。Git流分支修復bug

修復開發中的錯誤不是功能。我總是可以重新初始化git流並將默認前綴分支覆蓋爲bug /。但是如果我還需要啓動新功能,它需要重新初始化。這是一個很好的做法還是有一些技術來處理這個問題?

+0

...我_think_這屬於程序員。 SE? –

回答

11

development分支修復bug,而不是git flow hotfix(上master)的想法是:

  • 你一般固定在發展HEAD的bug(它只是另一個提交其修復了一些問題由其他提交引入)
  • 您在專用分支中對特定版本/標記的master(「production分支」)執行修補程序,並且您將或不會合並該修補程序(如果此修復程序非常特定於某些版本,並且在後續版本中不再相關,因此您將不會合並它)

所以我不認爲你需要一個專用分支/「git flow」操作:只是做一個明確認定犯下並推動它的development分支的頂部。

+3

還有一個來自git-flow作者的評論,正如你所說的:https://github.com/nvie/gitflow/issues/24 – hakunin

22

如果您需要應用的修復只是一個提交修復程序,我只是在開發時不做分支,如果涉及多個提交,您只需使用git flow feature命令。當您完成一個功能分支時,該軟件目前只會執行一次提交,它在日誌中看起來與開發時的提交相同。

如果你想在你的日誌中說明這個功能是一個錯誤修正,你可以將分支命名爲「bugfix-missing-parameter」或「issue-34-not-reading-file-properly」

我可以看到這個詞的功能可能暗示「新事物」而不是「修復」,但這只是文字。我應該爲修補程序創建一個新命令,代碼看起來與代碼git flow feature完全一樣,所以我沒有看到任何好處。

更新2015年11月19日

由於版本1.9.0的gitflow AVH版有一個bug修正命令。它和功能是一樣的,但分支是帶有bugfix而不是功能的前綴。

+0

我找不到git-flow版本1.9.0。你能幫我安裝嗎? –

+0

請參閱wiki https://github.com/petervanderdoes/gitflow-avh/wiki –

+0

嗯,我之前已經研究過這個問題。但它安裝版本1.6.1 AVH版。我使用Ubuntu。 –

0

git-flow-avh是你想要的

的OSX:

  • brew uninstall git-flow
  • brew uninstall git-flow-avh

在項目文件夾:

  • git init
  • 你應該看到提示之中 - Bugfix branches? [bugfix/]這將不會是標準git-flow
  • 迅速開始新的bug修正 - git flow bugfix start <branch name>