如今有两个仓库 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