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