簡體   English   中英

兩個不同的本地存儲庫提交到一個 Github 存儲庫

[英]Two different local repos commit to one Github repo

是否可以有兩個包含兩組不同文件夾和文件的存儲庫都提交到 Github 上的一個存儲庫? 如果是這樣,我該如何設置?

如下所示:

回購 1

-Folder_1
-Folder_2
-Folder_3

回購 2

-A_Folder
-B_Folder
-C_Folder

Github 回購

-A_Folder
-B_Folder
-C_Folder
-Folder_1
-Folder_2
-Folder_3

答案是肯定的。

您可以通過以下幾種方式做到這一點:

  1. 子樹/分支
  2. 子模塊/多個存儲庫

當然,每個都有其缺點和優點。


1.子樹/分支

使用這種方法,您應該將代碼顯式地或使用子樹分布在不同的分支之間,並且您可以將單獨的分支合並到單個存儲庫中。

在此處輸入圖像描述


2.子模塊/多個存儲庫

不完全符合您的要求,因為 Submodules 將您的存儲庫拆分為較小的存儲庫並使用 SubModules 將它們組合在一起

在此處輸入圖像描述 在此處輸入圖像描述

您可以將每個本地存儲庫視為遠程存儲庫,並且可以將它們合並到一個新存儲庫中。

首先,使用git init創建一個新的 repo 並提交(要有一個 master 分支)

然后使用git remote add alias link添加 2 個存儲庫然后使用git fetch alias_names_of_2_repository (您可以使用git remote -a獲取分支)

然后對於每個遠程存儲庫,您需要使用以下命令創建一個本地分支; git branch newBranchName oldBranchNameInRemote

然后用它把這些放到一個文件夾中,

git checkout newBranchOfRepo1
mkdir directoryForOldRepo1/
git ls-tree -z --name-only HEAD | xargs -0 -I {} git mv {} directoryForRepository1/
git commit -m "random commit/" 

然后與主倉庫合並, git checkout master && git merge --allow-unrelated-histories newBranchOfRepo1

為每個存儲庫執行這些操作。

暫無
暫無

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

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