Merge Two Git Repo

A: https://github.com/tianheg/a.git

B: https://github.com/tianheg/b.git

Want merge B into A. Keep A and B’s commits.

git clone https://github.com/tianheg/a.git
git clone https://github.com/tianheg/b.git

git remote add b ../b/
git remote
b
origin

git fetch b
git checkout -b b_main b/main

git checkout main
git merge b --allow-unrelated-histories
git status
git add --all
git commit -m ""
git push origin main

https://cloud.tencent.com/developer/article/1368777

将 Git 项目迁移到另一个仓库

我们假设旧仓库的项目名称叫 old-repository,新仓库的项目名称叫 new-repository。操作如下:

(1)创建旧仓库的裸克隆:

git clone --bare https://github.com/exampleuser/old-repository.git

执行上述命令后,会在本地生成一个名叫 old-repository.git 的文件夹。

(2)迁移到新仓库:

cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git

这样的话,项目就已经迁移到新仓库了。

注意,我们不需要手动新建一个空的新仓库,当我们执行上述命令之后,新仓库就已经自动创建好了。

参考链接:

  1. Duplicating a repository https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/duplicating-a-repository

  2. Git 本地仓库和裸仓库 https://moelove.info/2016/12/04/Git-%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93%E5%92%8C%E8%A3%B8%E4%BB%93%E5%BA%93/