Git兩庫合併歷史記錄
阿新 • • 發佈:2021-12-13
Git兩庫合併歷史記錄
情景
有兩個庫, A與B
需要合併兩個庫的程式碼並保留完整的記錄
思路
兩庫合併的重點在於,在原本一個庫上加上另一個庫.
實際操作主要的點在remote add
, 關聯多的一個庫
之後再進行,檢出與新庫關聯的新分支,把新分支與老分支進行合併.
要點
- remote add
- 兩庫對應分支的合併方式, 是merge還是rebase
- 關於合併記錄的先後順序
操作步驟(單分支)
- 檢出第1個庫
# git clone <repo1-url>
git clone http://192.168.1.1/root/A-project.git
- 新增庫與專案
# git remote add <repo2-name> <repo2-url> git remote add otherhttp://192.168.1.1/root/B-project.git
- 獲取新舊專案與遠端地址的更新
git fetch --all
- 檢出一個新的本地分支, 用來與遠端分支對應
# git checkout -b <repo2-branchName> remotes/<repo2-name>/<repo2-branchName>
git checkout -b otherMaster remotes/other/master
- 合併兩個分支
# 此處, 可以基於提交數較少的分支, 把相較而言更新的分支合併進當前分支. 此處, 我基於otherMaster,把master分支合併入該分支,因為master的記錄更多且更新 # git merge <repo1-branchName> --allow-unrelated-histories git merge master --allow-unrelated-histories