2013-08-23 87 views
0

我是Git的新手,我需要一些幫助來配置兩個項目。你能給我一些建議嗎?基本上我有一個父項目(我買的一個模板),我需要複製這個模板來做我自己的定製。2個項目的git配置推薦

那麼我怎麼能使用Git工作,有一個項目,清潔與模板的所有修復程序以及其他項目,我自己的自定義(即我可以添加的模板項目的修正)。

它是一個Git項目有一個分支或者是一個Git項目用叉子?或者其他方式?

+1

它可以是。分叉只是另一個存儲庫中的一個分支。如果你拿叉子,你有一個相同的本地分支。 – knittl

回答

2

Git中的「fork」和「branch」沒有區別。 Git歷史是一個有向無環的修訂(提交)圖形,可以在任意數量的存儲庫上覆制,並且有名稱指針,參考,標記重要修訂(標籤)和新開發完成的點(頭部,也稱爲分支機構)。

你想要做什麼叫做叉,但區別是意圖。分支是在一個項目中,最終被合併或者在新版本正在開發時修復舊版本中的錯誤,而fork是獨立的項目,其開發與原始版本不同,並且可能會或可能不會在原始項目中集成更改。

現在從技術上來說,你必須通過克隆「上游」項目創建了自己的倉庫。 Github稱之爲「分叉」。

在該存儲庫你將有一個分支(REF)跟蹤上游儲存庫。這通常被命名爲upstream,也被稱爲使用舊CVS術語的「供應商」分支。

比你會有你的修改另一個分支。它應該只是簡單的master。根據你想要什麼,你會定期合併upstream進入它,以跟隨所有上游發展或只是cherry-pick幾個變化現在,然後如果你想繼續發展在不同的方向。

+0

我一直認爲擁有分支,你不打算合併回主人,對於版本或客戶特定的版本,是標準的。 @Gabotron你可能想要讀取gitster的[永不合並](http://gitster.livejournal.com/26540.html)。 – remram

+0

@remram:發佈的分支通常用於合併回去。您通常希望您爲發佈所做的修復在下一個版本中傳播。使用分支機構來實現客戶特定的版本是最糟糕的決策之一。你可以處理一個或兩個,但不是三十個。條件編譯一直是處理這個問題的更好方法。 –

2

這些應該是分支機構。

請參考文檔詢問標準git的工作流程/概念的問題之前,有很多周圍的大文章將說明這些的。請參閱Pro Git書中的例如Git Branching

+1

_vendor_分支是_special_種動物! –

+0

謝謝remram ...我已經閱讀過Git。但我正在尋求幫助!已經揚·胡德克給了我一個明確的答案! – Gabrielizalo