簡體   English   中英

嵌套git repos

[英]Nesting git repos

我想問社區什么是最好的方法來為我的例子接近嵌套git repos。 我們中有兩個人將在共享代碼資產的同一項目上工作。 這個項目里面會有很多小項目,它們共享相同的資產(依賴於它們)。 文件夾結構將如下所示:

main_project
 - assets
 - project_1
 - project_2
 - project_3 

有沒有辦法我們可以在其中包含main_project和資產的版本歷史記錄並忽略其中的項目文件夾,並為每個項目分別設置版本控制歷史記錄?

如果這不可行,那么這種情況的最佳方法是什么。

tnx盧卡

您可以將子項目添加為子模塊 ,我認為這是模式。 我上次檢查時有點笨重(但我工作過),但那是幾年前所以也許嘗試一下。

基本上會發生這樣的事情:資產和不在子模塊文件夾中的所有東西都將由主項目git管理。 除此之外,該存儲庫還將創建一個包含子模塊列表的文件。 所有子模塊都將在各自自己的存儲庫中進行管理(可以移動,克隆,推送和拉取東西,因為它是正常的git)。

編輯:

不知道@gorilly中的子樹在評論中提到的可能是更簡單的解決方案

在我的工作中,我們正在做類似的事情。 我不建議使用此實現。 在你習慣之前,這有點令人困惑。

main_project
.gitignore
- assets
- project_1
-- .gitignore
- project_2
-- .gitignore

main_project / .gitignore(允許主項目樹中的占位符目錄,但git將忽略內容):

project_1/*
!project_1/.gitignore
project_2/*
!project_2/.gitignore

project _ * /。gitignore可以為空,但如果要在main_project的樹中使用占位符,它們必須存在。

然后,您可以在project_1和project_2中運行git init以創建單獨的嵌套存儲庫。

另一種方法可能是使用符號鏈接,因此:

main_project
- assets
project_1
- assets -> ../main_project/assets/
project_2
- assets -> ../main_project/assets/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM