我使用git-svn进行跟踪的SVN回购最近已损坏,恢复了备份。然而,在经济复苏中,一周的承诺失败了。是否有可能在我的本地git repo上使用git-svn dcommit
来恢复那些丢失的提交?运行git-svn dcommit
与SVN中最后一次恢复提交的SHA1是否足够?例如。我可以使用本地跟踪git-svn分支来恢复SVN存储库中丢失的提交吗?
> svn info http://tracked-svn/trunk | sed -n "s/Revision: //p"
252
> git log --grep="git-svn-id:.*@252" --format=oneline | cut -f1 -d" "
55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
> git svn dcommit 55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
或者是否需要将git-svn-id
从预期提交中剥离?
我试图用这个,但--dry-run
不能告诉它是否会尝试提交所有提交:
> git svn dcommit --verbose --dry-run 55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
Committing to http://tracked-svn/trunk ...
dcommitted on a detached HEAD because you gave a revision argument.
The rewritten commit is: 55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
感谢您的帮助。