From 3edb1a82bb6bbbc8fb84e257dc3acdfc7cb3f94c Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 11 Jun 2024 09:11:31 +0800 Subject: [PATCH] Backup. --- doc/git_guide.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/git_guide.md b/doc/git_guide.md index 3d2d454..f798477 100644 --- a/doc/git_guide.md +++ b/doc/git_guide.md @@ -210,6 +210,30 @@ To gitee.com:shenzhen-jiuyilian/ipc.git - [deleted] Branch_QT ``` -## 1.5. 存疑 +## 1.5. 多仓库管理 + +### 1.5.1. 合并两个无关联记录的仓库 + +  在一个仓库上合并另外一个无关联记录的仓库。 + +```code +# 假设A仓库的代码合入到B仓库 +# 在需要合并的仓库A下面执行 +$ rm -rf .git # 如果不需要A仓库的修改记录,需要重新创建一个新的本地分支和记录; +$ git init # 初始化一个空的仓库,并创建.git目录; +$ git add . # 添加A仓库的代码; +$ git commit -m "new log" # 保存代码,创建新的log;此时创建了一个本地的master分支; +$ git remote add B # 添加B仓库的地址; +$ git fetch B # 拉取B仓库的信息; +$ git checkout -b open B/master # 创建一个B仓库的本地分支,并切换到该分支; +$ git merge master --allow-unrelated-histories # 合并A仓库的代码,并允许两个分支没有关联记录; +$ git checkout --theirs . # 合并如果有冲突,选择A仓库的代码; +$ git restore --source=master output_files/libs/ # 按需,恢复A仓库的某些代码; +$ git add . # 添加需要合并的代码; +$ git commit -m "merge log" # 合并后的代码,保存到本地仓库; +$ git push B open:master # 推送到B仓库的master分支; +``` + +## 1.6. 存疑 * 不同的分支之间如何同步某个文件?