2011-08-18 20 views
4

這可能不是一個特定於git的問題,但它出現在git的上下文中。這個想法可能會更廣泛地適用於其他vcs。使用dvcs/git,單個提交首選多個小型主題提交?

我正在開發一個小型項目,目前我是唯一的開發人員。我習慣了使用git,所以我想知道最佳實踐。當我實現新的特性/功能時,我發現我一次處理多個文件,它們的示例和文檔,這樣我的git狀態可能會報告15個已更改的文件。但是這些文件可能涉及項目的3個不同部分。

將它們分成3個獨立的部分,將相關文件保存在一起,這樣我可以稍後返回並更輕鬆地找到這些提交。或者用一個適當的信息一次完成所有的事情都很容易?

回答

4

一個標準,可以幫助你做出正確的「量」的承諾是git bisectgit blame:將大在嘗試git bisect以檢測錯誤時承諾會造成滋擾?

這就是描述「Understanding the Git Workflow」的博客文章,當它描述了「檢查站提交」(太少提交捕獲的代碼在不穩定的狀態),或者「no-ff提交」(它代表了太多的修改在一個捆綁在一起大提交)。

7

它最好使提交原子。也就是說,一個提交代表了所涉及項目的一個邏輯變化,並且可以獨立運行。

這使得

  1. 易典檢查
  2. git bisect工作正常
2

這可能很困難,並且關於「最佳工作流程」有很多不同的觀點。如果可能的話,最好是

  1. 單獨的關注 - 使用一些短期的獨立分支,每個關注一個。在最終合併和發佈到更高級的分支之前,您總是可以壓縮您的提交序列。
  2. 經常提交 - 更小的步驟可以更容易地找到發生錯誤的位置和原因,並對齊合併。它可以在工作後再壓扁。
  3. 使用暫存區域和git stash來分區您在每次提交中放置的工作。
  4. 不要太擔心小錯誤。只有當你向後走纔會發生遠見。
相關問題