如果你想将 Git 仓库迁移到新位置,并且希望同步分支,但不保留历史提交信息,你可以执行以下步骤:
-
创建一个新 Git 仓库: 首先,创建一个全新的 Git 仓库,这将是你的目标仓库,不包含任何历史提交信息。
-
将新仓库克隆到本地: 使用以下命令将新仓库克隆到你的本地计算机:
git clone <新仓库的URL>
-
在新仓库中创建并切换到一个新分支: 为了不受历史提交信息的影响,可以创建一个新分支并切换到它:
git checkout -b new-branch
-
将旧仓库的分支内容导入到新仓库: 使用以下命令将旧仓库的分支内容导入到新仓库。假设你要导入的分支是
old-branch
:git remote add old-repo <旧仓库的URL> git fetch old-repo git merge old-repo/old-branch --allow-unrelated-histories
这将把旧仓库的
old-branch
分支合并到你的新仓库的new-branch
中。选项--allow-unrelated-histories
允许合并没有共同祖先的分支。 -
清除历史提交信息: 如果你希望删除历史提交信息,可以使用以下命令重写 Git 历史:
git checkout --orphan temp-branch git commit -m "Initial commit" git branch -D new-branch git branch -m new-branch
这将创建一个新的空分支
new-branch
,不包含任何历史提交信息。 -
推送到新仓库: 最后,如果你想将新仓库的更改推送到新远程仓库,可以使用以下命令:
git push origin new-branch
这将创建一个新仓库,其中包含你想要的分支,但不包括历史提交信息。请注意,这种方法会丢失所有历史信息,所以谨慎操作,并确保你真的不需要历史记录。