如今有兩個倉庫 kktjs/kkt 和 kktjs/kkt-next 咱們須要將 kkt-next
倉庫合併到 kkt
並保留 kkt-next
的全部提交內容。git
# 1. 克隆主倉庫代碼 git clone git@github.com:kktjs/kkt.git
# 2. 將 kkt-next 做爲遠程倉庫,添加到 kkt 中,設置別名爲 other git remote add other git@github.com:kktjs/kkt-next.git
# 3. 從 kkt-next 倉庫中拉取數據到本倉庫 git fetch other
# 4. 將 kkt-next 倉庫拉取的 master 分支做爲新分支 checkout 到本地,新分支名設定爲 kkt-next git checkout -b kkt-next other/master
# 5. 切換回 kkt 的 master 分支 git checkout master
# 6. 將 kkt-next 合併入 kkt 的 master 分支 git merge kkt-next
# 若是第 6 步報錯 `fatal: refusing to merge unrelated histories` # 請執行下面命令 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ git merge kkt-next --allow-unrelated-histories
在合併時有可能兩個分支對同一個文件都作了修改,這時須要解決衝突,對文本文件來講很簡單,根據須要對衝突的位置進行處理就能夠。對於二進制文件,須要用到以下命令:github
git checkout --theirs YOUR_BINARY_FILES # 保留須要合併進來的分支的修改 git checkout --ours YOUR_BINARY_FILES # 保留本身的修改 git add YOUR_BINARY_FILES