git 合並兩個倉庫以及子倉庫的使用


一、倉庫合並,倉庫搬遷

倉庫1: first1 <---------- 2 <---------- 3 <------------ 4 <---------------8

倉庫2:first1 <---------- 2 <---------- 3 <------------5 <---------- 6 <---------- 7

這兩個倉庫在前3次提交一樣,之后分別進行開發,現在要把倉庫2合並到倉庫1

 

1、進入倉庫1

git remote add old_cnstream git@172.10.80.76:video/cnstream.git

為倉庫1添加一個遠程倉庫old_cnstream,這個倉庫鏈接的是倉庫2的遠程

2、下載倉庫

git fetch old_cnstream

此時會將遠程倉庫2下載下到本地

3、將倉庫2需要合並的分支切到本地

git checkout -b old_cnstream_master old_cnstream/master

4、將倉庫1需要合並的分支切出(如果在master的話)

5、切到倉庫1相要合並進入的分支 new_master

6、現在處在 倉庫1 new_master ,將old_cnstream_master合並到倉庫1

git merge old_cnstream_master

 

二、子倉庫

cnstream倉庫與easydk為獨立倉庫,現在cnstream要包含easydk為子倉庫,cnstream/easydk

1、子倉庫的添加

git submodule add <url> <path>

url為子倉庫的路徑,path為倉庫放的目錄。

2、子倉庫的使用

git submodule update --init --recursive

默認的子倉庫無內容,需要執行上面命令進行下載。

3、子倉庫版本的更新

需要修改兩個地方,第一在cnstream目錄下.gitmodules修改 url 和branch,這里指定子倉庫的地址和分支;第二切到子倉庫easydk下,checkout 到想要的easydk版本

完成后將  .gitmodules 和 easydk進行commit

 

4、子倉庫更新到默認

cd到上一級目錄

git submodule update --init --recursive

 

三、提交合並

想要把分支v2.0的提交  38361a55 提交到分支v3.0

git checkout v3.0分支

git cherry-pick 38361a55  #commit id

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM