2013-03-26 406 views
8

我使用git作爲版本控制系統的第一次。 我正在開始一個新項目,因此要試驗一下項目中使用的技術(hello world examples ...),我想創建一個類似「操場」分支的東西。創建一個新的分支「操場」是否很常見,或者我應該在主分支中創建一個名爲操場的文件夾?什麼時候應該創建一個新的分支?

問候

回答

13

當你在做開發工作本質上是有點實驗你應該創建一個新的分支。所以在你的場景中,絕對要創建一個新的分支,而不是主內的文件夾。如果您將沙箱工作創建爲主目錄中的目錄,那麼它將駐留在該目錄中,直到您使用git將其刪除。將死代碼放在主分支中並不理想,因爲它可能會讓其他開發人員感到困惑,並且可能會在應用程序的整個生命週期中一直處於腐朽狀態。

如果您的團隊遇到錯誤,您不希望他們浪費時間瀏覽實驗性工作以確定該目錄中是否存在該錯誤。創建新的分支可以讓您將更改從主分支中分離出來。如果您的實驗順利進行,您始終可以選擇將更改合併到主分支中。如果事情進展得不順利,你總是可以放棄分支或將它保存在本地存儲庫中。

+2

「你應該創建一個新的分支...」總是,期間。 – 2013-03-26 10:03:13

3

分支機構有很多用途,它取決於您的工作流程。兩種常用的工作流程是:

都使用所謂的話題分行打造的新功能,其中獲得合併回一次準備/接受。

Github流程非常簡單,顯然是github使用的。 Gitflow稍微複雜一點,當您需要支持可應用修補程序的應用程序的多個版本時,Gitflow更爲適合。最後,這是一個優先選擇什麼樣的工作流程的問題,但是因爲在git中創建分支是非常便宜的,所以創建多少分支(最終再次刪除)並不重要。

1

常用的方法是將主分支用作活分支。然後,您從主人那裏創建新的分支並在其上工作(功能分支)。完成工作後,將更改合併回主站。

您可以像開發分支一樣構建新的遠程分支,並在您只需要預覽時將更改合併到此分支。有一些方法,但谷歌有很多信息。

Branching and merging
Git branching model

1

你應該挑釁通過實驗,但在操場回購學習。
回購中的操場目錄將受益較少。
有一個遊戲,犯一些錯誤學習一些東西 - 刪除它幾次,瘋了。

例如

$ mkdir playground 
$ git init 
$ touch hello-world 
$ git add hello-world 
$ git commit -m "my first commit" 
$ git branch goodbye 
$ git checkout goodbye 
$ echo "goodbye" | cat >>hello-world 
$ git status 
$ git add hello-world 
$ git commit -m "goodbye commit" 
$ git merge master 

我還reccomend抓在您選擇從GitHub的語言活動項目的一個分支,並給人以合併一去,基礎重建等有與實際的代碼。

1

你應該考慮建立新的分支機構,並在這些情況下,對他們的工作: -

  • 當你想工作/測試出在沙箱環境的東西。

  • 將自己的提交保持在自然狀態是一種很好的做法如此頻繁的提交可能會打擾其他人的開發區域因此,最好在分支上完成您的工作,然後再將您的分支合併到主分支中。 [Tip]記得通過經常合併主分支到你的分支來保持你的分支與主分支同步。所以在稍後的時間,你手上沒有太多東西要合併。

  • 你想解決一個錯誤。最好在其他分支上解決它,稍後再合併。

  • 如果您的提交出錯/打破了構建,生成構建不受影響。所以我更喜歡使用至少兩個分支dev dev分支和prod分支。當一切都經過充分測試後,將您的開發分支合併到生產分支。

相關問題