1. 程式人生 > 其它 >Git兩庫合併歷史記錄

Git兩庫合併歷史記錄

Git兩庫合併歷史記錄

情景

有兩個庫, A與B
需要合併兩個庫的程式碼並保留完整的記錄

思路

兩庫合併的重點在於,在原本一個庫上加上另一個庫.
實際操作主要的點在remote add, 關聯多的一個庫
之後再進行,檢出與新庫關聯的新分支,把新分支與老分支進行合併.

要點

  1. remote add
  2. 兩庫對應分支的合併方式, 是merge還是rebase
  3. 關於合併記錄的先後順序

操作步驟(單分支)

  1. 檢出第1個庫
# git clone <repo1-url>
git clone http://192.168.1.1/root/A-project.git
  1. 新增庫與專案
# git remote add <repo2-name> <repo2-url>
git remote add otherhttp://192.168.1.1/root/B-project.git
  1. 獲取新舊專案與遠端地址的更新
git fetch --all
  1. 檢出一個新的本地分支, 用來與遠端分支對應
# git checkout -b <repo2-branchName> remotes/<repo2-name>/<repo2-branchName> 
git checkout -b otherMaster remotes/other/master
  1. 合併兩個分支
# 此處, 可以基於提交數較少的分支, 把相較而言更新的分支合併進當前分支. 此處, 我基於otherMaster,把master分支合併入該分支,因為master的記錄更多且更新
# git merge <repo1-branchName> --allow-unrelated-histories
git merge master --allow-unrelated-histories