我創建了一個裸git倉庫(讓我們稱之爲倉庫#1)並克隆它。創建一個包含另一個git倉庫的git倉庫
- 在克隆(回購#2)中,我創建了幾個文件夾,其中一個我決定做一個git回購(回購#3)。
- 當我提交回購#2時,所有內容都按預期運行,以免回購#3被忽略(.git文件夾和文件提交)。
如何添加回購#3#回購2,這樣,當我把回購#2#回購1,我可以做的回購#1一個單獨的克隆中,我還可以訪問歷史等。回購#3?
換句話說。我如何創建一個包含另一個git倉庫的git倉庫?
我創建了一個裸git倉庫(讓我們稱之爲倉庫#1)並克隆它。創建一個包含另一個git倉庫的git倉庫
如何添加回購#3#回購2,這樣,當我把回購#2#回購1,我可以做的回購#1一個單獨的克隆中,我還可以訪問歷史等。回購#3?
換句話說。我如何創建一個包含另一個git倉庫的git倉庫?
你不應該這樣做。 .git /下的元數據在repo生命週期中發生變化,並且更改並不一定意味着應該提交的「內容更改」:簡單git repack
在.git下更改文件,但不應提交更改。你爲什麼想這樣做?
我不知道如何去做你正在建議的內容,但是子模塊可能會接近(或者接近你將要得到的)。這裏是一個體面的教程:
我從來沒有使用過,所以我能做的就是發佈一個鏈接...
我不是一個GIT親任何手段,但我認爲你指的是git submodules
git submodule --help
在容器中存儲庫根文件夾,只是做:
git submodule add https://github.com/yourusername/containedrepo.git containedrepo
這將克隆containedrepo
的/containedrepo
目錄內。從現在開始,您不應在/containedrepo
目錄中進行更改,而應對containedrepo
進行更改,然後將其取消。當您拉出主容器存儲庫時,它也將拉出所有子模塊存儲庫,例如containedrepo.git
。
這裏有一個很好的教程:https://github.com/NebuPookins/git-submodule-tutorial
我使用的是母公司回購(#2),方便文件夾的輕鬆備份,它包含其中包括回購#3。一切都存儲在USB驅動器上,這樣我可以輕鬆地將所有內容的備份推送到備份位置(回購#1)。 看來,我將不得不手動複製文件夾來備份它們。 – 2009-09-10 17:58:09
如果你想要的只是所有倉庫(和工作副本)的備份,那麼你可能只是使用一些對git ant沒有任何結構的東西,例如mercurial或bazaar。 正如wRAR所說,它會添加很多你不需要的東西,但是如果你只是想要備份,那麼它可能是好的。但是你也可以寫一個腳本,通過你的手柄上的每個存儲庫並將其推送到服務器。 – 2009-10-22 07:43:48