git - 如何使用 git-svn 重新获取新指定分支的修订版

标签 git git-svn

我已经从 SVN 获取了整个版本库,直到修订版 15000。我意识到我在不同的位置 stash 了一个额外的分支。有什么方法可以使用这个新分支的位置更新 .git/config 文件并仅重新获取与该分支相关的修订吗?

最佳答案

您可以将另一个 branches 条目添加到 .git/config 文件的 svn-remote 部分。之后,运行 git svn fetch 应该会 pull 下额外的修订版。


如果我理解正确,你可以强制 git-svn 重新扫描分支的旧版本,方法是删除(或更改).git/svn/.metadata< 中的 max-branchesRev 并再次运行 git svn fetch。如果您更改该行而不是将其删除,那么您将希望将其设置为比创建分支时更早的修订版。之后它将重新扫描分支以查找所有修订。


我可能应该先使用 git svn reset 而不是乱用 .git/svn/.metadata。如果以下方法不起作用,那我就没主意了。 :)

# Find the svn revision git knows about that's just previous (or close to)
# the revision which created the branch
$ git svn reset -r $foundSvnRev
$ git svn fetch
$ git reset --hard $remoteBranch

那么你应该可以正常使用 git svn 了。

关于git - 如何使用 git-svn 重新获取新指定分支的修订版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143333/

相关文章:

angular - merge 中的冲突

node.js - 一个 GitHub 存储库中具有范围界定的多个 NPM 存储库?

git svn clone 打印数百个 "error: too many matches for svn-remote.svn.added-placeholder"

混帐 svn : how do I work with "partial" branches?

branch - 如何使用非标准 svn 存储库布局的 git-svn 访问 svn 分支?

Git merge 后压缩提交

python - 我做了一个初学者项目,创建了一个计算器,并推送到了 Github。我在哪里可以找到我的代码?

git 提交分阶段更改的子集(按文件名)

git - 警告 : refname 'xxx' is ambiguous when using git-svn

svn - 使用 git-svn 时避免冲突