2012-02-24 45 views
2

的問題Git中組織外部利布斯多個項目

我希望我的公司存儲在源代碼控制所有包含外部庫,但我想這些外部庫是在一個單一的回購(不包括在每個單獨的項目中),因爲有很多庫,而且它們很大。

現有技術

This question addresses the problem but no one answered to it directly. (How do I organize my Git repo [better title appreciated])

This pretty well describes a similar situation, but no dice. (Git, sub-repos & external libs for web development - best strategy once and for all?)

This definitely answers the question, but uses submodules. (Best Practice for Git Repositories with multiple projects in traditional n-tier design)

Git Slave sounds great, but I'd prefer to not add another git tool to our repertoire as git is new to us.

這是我至今想。

my coding dir/  
    app1/ 
     .git/ 
     src/ 
     com/ 
     ... 
    app2/ 
     .git/ 
     src/ 
     com/ 
     ...  
    ext libs/ 
     .git/ 
     server crap/ 
      apache tomcat 7.0.123/ 
       ... 
      apache cxf versionnumber/ 
       ... 
     util crap/ 
      someones really great util lib-1.0/ 
       ... 

然後會有在配置或類似的一個$ PATH變量將指向lib目錄。

更多的想法

  • 我們沒有基礎設施工程師,因爲我不想 隨叫隨到每次有人需要添加或更新一個lib,我想從git submodule中避開 ,因爲它看起來很粗糙。我很高興地移動到在未來,但我們只 從混帳koolaid開始我們的飲料。
  • 我也很高興現在使用的子模塊,如果有人可以點我的是什麼明確的解釋明確教程如何使用它,所以我可以通過這個信息到我的同齡人。我不想讓大家看了兩小時關於高級主題的文檔,而我們剛纔讓我們的腳使用Git。
  • 這將是很好與應用回購的版本鏈接的lib回購的版本。

同樣,我可以談我的抗子模塊情緒,但事實證明,我能找到的教程是過時的和/或混淆是一個很大的鎮定劑。這需要對任何工程師的容易的過程,並輕鬆還原。我們不是git ninjas!

最後,我不知道它的問題,但我們都在UNIX上,和所有的Java所有的時間。

在此先感謝!

更新2012年3月1日

我就要使寶寶Linus Torvalds的哭聲。

我一直在做相當數量的研究,我的結論是子模塊很棒如果你已經是git ninja。所以,這就是說,我會做錯誤的事情,並在每個git項目中創建一個libs目錄。爲什麼?這很容易,而且對我們目前正在做的事情有很大的改進。它還假設git知識的門檻低得多。有一天,當我們完全瞭解git的基本和中間概念(補丁?重寫歷史?高級分支?)時,我們可能會轉向子模塊。就目前而言,我不想讓我的工程師因爲咀嚼太多而失敗。

希望從現在開始,當我們準備好轉向「正確的方式」時,子模塊會更少。

回答

1

子模塊是爲此設計的。請學習它們。 ProGit.org/book是一個很好的資源。請參閱第6章第6節(我已將這一點提交給記憶)。

如果您有任何其他問題,我很樂意幫助推特/電子郵件。與我在此使用的ID相同。

+0

我們對git超新穎,而且關於子模塊的progit教程是5頁的事實是關閉的。如果還有更多__統計,清晰和最新的教程___,我很樂意使用子模塊,並且[我知道這個觀點是短視的],但似乎開銷並不值得。請證明我錯了。我稍後可以平息你。 – Soyoung 2012-02-24 19:34:12

+0

它非常強大。您是否期望在不閱讀手冊的情況下使用某些內容?閱讀教程並練習一下並不需要很長時間。如果你選擇在這裏節省時間,你將會在將來浪費很多時間,並在很長一段時間內浪費時間。節省一美分,失去一美元。我也對GTalk充滿信心。另外,#git irc頻道上有數百人。所有人都願意在白天和夜晚完成任何任務。希望您能夠將您的流程演變爲我們所擁有的流程:http://dymitruk.com/blog/2012/02/05/branch-per-feature/ – 2012-02-24 19:48:28

+0

是的,我們根據功能進行分支。我自己並不擔心閱讀手冊。我會很開心的。我擔心說服一隊工程師這樣做和/或自己給我們一個教程/研討會,因爲我不知道git的來龍去脈。這讓我很害怕。關於子模塊沒有一個快速和骯髒的介紹來補充對子模塊的長期而詳盡的介紹。我想這意味着我必須自己寫一個;) – Soyoung 2012-02-24 20:22:12