要将 SVN 转换为 Git 并保留提交记录,可以使用以下步骤:

  1. 安装 git-svn 工具

在 Linux 上,可以使用以下命令安装:

sudo apt-get install git-svn

在 macOS 上,可以使用以下命令安装:

brew install git-svn

  1. 克隆 SVN 仓库

在 Git 中,需要先克隆 SVN 仓库。可以使用以下命令:

git svn clone svn://example.com/project/trunk

其中,svn://example.com/project/trunk 是 SVN 仓库的 URL。

  1. 转换为 Git 仓库

克隆完成后,可以将 SVN 仓库转换为 Git 仓库。可以使用以下命令:

git svn rebase git svn dcommit

其中,git svn rebase 用于将 SVN 仓库更新到最新版本,git svn dcommit 用于将 Git 提交推送到 SVN 仓库。这两个命令需要执行多次,直到所有提交都被推送到 Git 仓库中。

  1. 清理历史记录

在转换 SVN 到 Git 时,可能会出现一些无法解决的冲突。为了避免这些冲突,可以清理历史记录。可以使用以下命令:

git filter-branch --commit-filter ' if [ "$GIT_AUTHOR_EMAIL" = "svn@example.com" ]; then skip_commit "$@"; else git commit-tree "$@"; fi' HEAD

其中,svn@example.com 是 SVN 提交时使用的邮箱地址。

  1. 推送到远程仓库

最后,将 Git 仓库推送到远程仓库中。可以使用以下命令:

git remote add origin git@github.com:username/repo.git git push -u origin master

其中,git@github.com:username/repo.git 是远程仓库的 URL,master 是主分支的名称。

以上就是将 SVN 转换为 Git 并保留提交记录的步骤。注意,在转换过程中需要谨慎操作,以免丢失数据。建议在执行前备份 SVN 仓库和 Git 仓库。

svn转git保留提交记录

原文地址: https://www.cveoy.top/t/topic/LZq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录