行业知识
git如何保留提交记录的情况下迁移
2026-10-30 11:20:00
来源:互联网转载
Git仓库迁移方案
在���常的工作场景中,我们有时候会遇到需要更换Git仓库地址的需求。或者是从一个git仓库托管工具换到另一个git仓库托管工具。这个时候有两种方案:
()方案一:不保留历史提交记录
如果你不需要保留原有的历史提交记录,可以选择删除 .git 文件夹后重新初始化。以下是具体的操作步骤:
-
删除原有的 .git 文件夹
()在项目根目录下执行以下命令:
rm -rf .git
此命令将删除 .git 文件夹,连同它所有的历史提交记录。
-
重新初始化 Git
在项目根目录下执行以下命令:
git init
此命令将初始化一个新的 Git 仓库。
-
添加所有文件到新的 Git 仓库
执行以下命令:
git add .
-
提交所有文件
执行以下命令:
git commit -m "Initial commit"
-
添加新的远程仓库
git remote add origin
-
推送到新的远程仓库
git push -u origin master
方案二:保留历史提交记录
如果你想要保留原有的历史提交记录,可以使用 Git 的 --bare 和 --mirror 参数。以下是具体的操作步骤:
-
克隆一个裸仓库
使用 --bare 参数克隆一个裸仓库,这个仓库将包含所有的历史提交记录。
git clone --bare
-
设置新的远程仓库
切换到新创建的裸仓库目录,然后设置新的远程仓库。
cd .gitgit push --mirror
--mirror 参数将会把裸仓库中的所有引用(branches, tags, remotes)全部推送到新的远程仓库。