在移动 GIT 存储库时保留 GIT 提交的历史记录

Preserving history of GIT commits while moving a GIT repository

我有两个 GIT 项目 A 和 B(空项目)。我想将整个项目 A 移动到项目 B 并保留提交历史,同时将所有文件从 A 移动到 B。

使用 GIT 执行此操作的有效方法是什么?我尝试使用 git filter-branch,但似乎我没有以正确的方式使用它,因为它给了我 "fatal...xyz/is outside repository"。有人可以指点一下吗?

谢谢!

这是我们问题评论中描述的完整工作流程。

我假设您想将分支 master 的整个历史从 项目 A 推送到 项目 B

  1. 项目 B 文件夹 > 初始化 git 存储库:

    git init

  2. 项目 A 文件夹 > 将项目 B 存储库添加为新远程:

    git remote add remoteb <urlToB>

  3. Project A 文件夹 > 检查相应的分支(如果需要):

    git checkout master

  4. Project A 文件夹 > 将分支 master 的整个历史推送到 remoteb:

    git push -u remoteb master

如果您想了解有关 git push 命令和参数的更多信息,可以在此处找到官方文档:git push Documentation