2010-04-24 133 views
5

爲了讓一個新的django項目更快運行起來,我想維護一個單獨的「項目骨架」,在該項目框架中我將所有新項目都集成到該項目中。如果我改進了骨架,我可以將這些改進融入到我的活動項目中。我怎樣才能用git來完成這個任務?使用git從項目骨架創建一個新項目

所以,也許在我的遠程git存儲庫機器上,我會有1個回購每個項目和一個骨架?

  • PROJ-A-回購
  • 凸出-B-回購
  • 骨架回購

如果我想基於骨架在本地創建一個新的PROJ-C,然後把我的在一個名爲proj-C-repo的新回購站中,本地更改爲遠程服務器,我該如何做到這一點?

我讀過很多git文檔,但我對如何去做這件事感到困惑。我是否需要克隆骨架,或創建一個空的回購,然後跟蹤遠程分支,或其他?

回答

9

這正是git(或任何DVCS)所擅長的。給骷髏自己的回購;要創建一個新項目,您通常會將clone框架拖到您的工作站上,然後push運行到不同的位置(例如myserver:repo-C)。如果稍後改進骨架並對其進行更改,則可以將它們與git pull myserver:skeleton合併到一個現有項目中,然後進行合併。

+1

這正是我所期待的。太感謝了。 – asciitaxi 2010-04-24 10:14:20

+1

爲了擴大這一點,我還發現有關添加和重命名git remotes有用的答案:http://stackoverflow.com/questions/1221840/error-remote-origin-already-exists-on-git-push-to-new -repository – Matt 2012-05-07 17:00:31

+0

是的,關鍵是重命名克隆後的鉤子。您也可以在克隆/拉到您的工作站之前,直接在「中央」服務器上克隆和重命名遠程。在進入新項目幾個小時之前,您應該克隆/推送到工作站以外的回購站,以便其他人可以看到您正在做什麼,並且您有回覆權。 – hobs 2012-08-08 15:26:53

0

你可以做到以下幾點:

創建一個Git回購那是你的骨骼,這就是A中的東西和B回購添加到您的.gitignore。 然後在A和B位置初始化新的git存儲庫並推送到那裏。

你結束了這種方式:

skeleton 
+---> .git 
+---> project A 
    +-----> .git 
+---> project B 
    +-----> .git 

我只是想這和它的工作,你的subrepo添加到的.gitignore有git倉庫內的git倉庫,只要..

+0

這讓我覺得有點奇怪,在骨架中有「包含」項目。 – 2010-04-24 08:45:53

+0

我認爲總體思路是讓骨架成爲自己的項目,可以與其他項目一起使用。所以讓他們分享他們歷史的一部分並不是很好,因爲你必須挑選所有的變化回骨架。但櫻桃採摘也可以工作 – Tigraine 2010-04-24 09:18:27

+0

酷的嵌套git回購的想法。可能對其他應用程序非常有用。 – hobs 2012-08-08 15:28:59

0

你可以找到項目的骨架與此sbt console template

如果克隆它,launch sbt一個很好的例子,你會得到一個全功能的Scala項目:

  • 可以編譯,執行,測試,甚至eclipsified(將被導入爲eclipse項目)!
  • 它可以存儲在自己的Git倉庫中,已配置.gitignore