2016-07-07 26 views
7

例如,有幾個大功能:User [需要開發UserControl,UserModel,UserService]和Admin,Post,Comment當您在開發函數時發現其他函數中的錯誤時,您會做什麼?

現在你在features/post分支,開發職位相關職能。但是您遇到User相關功能中的一些錯誤。

所以在gitflow方面,建議的方法是什麼?

  1. 添加TODOFix me到用戶相關的功能,並修正錯誤後完成後的發展和合並的代碼掌握?

  2. 藏匿相關的代碼半成品柱,營造fix分支,修正錯誤,合併features/post,藏匿彈出相關的代碼半成品柱,然後去?

回答

3

無論你喜歡什麼,你是否可以自由修復它,無論它是否與你正在處理的「主題」有關。

然後使用git commit --patch只添加提交堅持該主題的更改。 (非常值得了解這個工作流程的所有細節,包括如何將胖子分成更小的變化,以及如何編輯無法分割的混蛋,但包含想要的和不想要的變化的混合物)。

當主題提交全部使用一個或多個git commit --patch操作完成時,工作副本中剩下的所有內容都是離題更改。此時,您可以將git checkout分配給另一個分支,以便在適當的情況下使用git stash savegit stash pop來解決任何抱怨,您已經取消了更改。

如果一切都在同一個分支,那麼順序可能並不重要。您可以只發現git commit --patch您發現的錯誤修復,然後繼續該主題。如果修補程序着陸於正在進行的主題修復過程中,則始終可以使用git rebase -i:以交互方式對其進行重新綁定,以使主題提交合並在一起,並且附帶的修補程序位於之前或之後。

在我的軟件組織中,我必須爲此附帶的錯誤修正創建故障單並獲取錯誤號,然後將其提交到Gerrit以供審查。如果看起來很明顯,看起來會得到快速和輕鬆批准,那麼我會先做這件事,在我正在做的「重量級」更改之前。

0

我不明白的git流具體地說,但這裏是我嘗試做:

  • 藏匿處,或使用git-worktree
  • 修復相關上游分支中的錯誤。
  • 將修復合併到工作分支(通常我稍後重新綁定)。

或者,可以最初修復它在當前分支爲離散提交,然後git cherry-pick入上游分支和git rebase從當前分支放棄它。

1

我沒有找到GitFlow定義的。

對我來說,基於對BUG的批評,我會決定立即修復它,或者添加TODO來修復它。

我沒有修正它與當前的開發功能在同一分支,因爲它會讓我的隊友感到困惑時,他們審查我的源代碼。

0

這是一個基於意見的問題 - git-flow不需要你以特定的方式解決這個問題。

我通常會回到開發分支,創建一個新的功能分支,修復那裏的錯誤,然後一旦合併到開發中,我將重新設定我最初正在開發的功能,以便現在有錯誤修復。

如果錯誤是緊急的並且開發與master不一樣,我將使用修補程序分支,並且一旦將修補程序合併到master並進行開發時,我的分支將重新分支到開發。

相關問題