git-svn:将 git-svn 克隆的存储库重新链接到 svn



我的 gitlab 上有一个 git 存储库,它最初是使用 git svn clone https://svn.url.com/project/trunk 克隆的。我曾经dcommit到svn,并从我的本地副本git push到gitlab。但是现在我现在已经丢失了原始本地副本,我从中执行 git-svn 克隆。我确实从我的 gitlab git clone,但现在我失去了从 svn 获取并再次提交的能力。有什么方法可以恢复它吗?我从来没有备份过 git 目录下的 .git/svn 文件夹...... :(

这很容易。

打开你的 git 配置(在 .git/config 下(

并将以下内容添加到末尾

[svn-remote "svn"]
      url = https://svn.url.com/
      fetch = :refs/remotes/git-svn

然后,您可以 git-fetch 重新链接所有 git-svn 修订版

PS:如果花费太长时间和/或您的修订太多,您可以在执行 git-fetch 之前直接将您的 refs/remotes/git-svn 移动到最后一个已知的 svn 修订版例如:

git update-ref refs/remotes/git-svn refs/heads/master

最新更新