[英]how to manager multiple git projects into one github repo with different folder
[英]Multiple projects in one git repo?
我目前是 SVN 用戶,正在考慮將我的項目移至 git。
我使用一個 SVN 存儲庫來保存我創建的所有項目。 我的結構是這樣的:
/
/group1
/subgroup1
/project1
/branches
...
/tags
...
/trunk
...
/project2
...
/subgroup2
/project3
...
/project4
...
/group2
/subgroup3
...
/subgroup4
...
/lib
/lib1
/lib2
/lib3
如您所見,我將我的項目保存在組中,並且/lib
包含項目之間共享的庫。
我選擇這種排序結構是因為:
svnserve
作為服務/守護進程,所有項目都托管在它上面(我不喜歡文件路徑方法)。現在……言歸正傳。 我想知道:
如果我要遷移到 git,這種工作流程將如何運作?
具體來說:
svnserve
git 等效地為它們提供所有服務(理想情況下以類似的方式分組)。*) 我閱讀了有關 git 的信息,我理解是這種情況,但我想與有經驗的人再次確認。
在 Git 中,最好將每個項目放在自己的倉庫中,如果需要,將庫放在另一個倉庫中,並在每個項目中用作子模塊(相當於 svn 外部)。
這是因為在 Git 中,repo 是一個比 SVN 更輕量級的概念,而且更重要的是,無法在 repo 中單獨克隆單個文件夾(不要與稀疏結帳混淆),就像您能夠結帳和處理 SVN 中的單個文件夾。 因此,如果您將所有項目都放在一個 repo 中,則必須將它們全部克隆。
使用 smart-http、git 守護程序和 ssh 服務 Git 存儲庫非常簡單。 還有Gitolite用於管理多個 repos(包括授權和身份驗證)。 閱讀有關服務 Git repos- http://progit.org/book/ch4-2.html的 ProGit 鏈接章節
進行分組時,您可以根據分組結構將存儲庫放在文件夾中,並使用智能 http 方法提供服務,其中存儲庫 url 看起來就像您在 SVN 中使用的 url,所有項目似乎都是在分組等下
除了其他答案,您還可以使用GitSlave將多個 git 存儲庫鏈接在一起。
您可以將所有項目都放在一個存儲庫中,但這確實是個壞主意,因為您總是必須使用整個存儲庫。
要運行 git 服務器,如果您只需要一個用戶(您),一台安裝了 git 和 ssh 訪問權限的服務器就足夠了。 例如見這篇文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.