我的本地git svn分支绑定到哪些远程分支?
我在使用git svn的克隆repo中有以下我的本地git svn分支绑定到哪些远程分支?,git,git-svn,Git,Git Svn,我在使用git svn的克隆repo中有以下.config文件: [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [svn-remote "svn"] url = https://s
.config
文件:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[svn-remote "svn"]
url = https://svn.domain.com:8443/svn
fetch = trunk:refs/remotes/trunk
branches = branches/{some_branch}:refs/remotes/branches/*
当我执行git branch-a时,我得到:
$ git branch -a
* master
remotes/branches/some_branch
remotes/trunk
如何知道本地主机分支绑定到哪个远程(跟踪)?请注意,由于正常的git解决方案(例如,git remote show origin
)不起作用,因此这个答案似乎必须特定于git svn
编辑
仔细阅读我的问题后,我不确定它是否有意义。基本上我只想知道哪个SVN分支“master”是绑定的。我假设Remote是分支,但实际上它们只是指向其他repo的URL。所以,我真正想要的是远程SVN分支和本地分支之间的映射
我真正想要的是远程SVN分支和本地SVN分支之间的映射
分支机构
答案是:没有(至少不是通常意义上的)
详细说明:
通常,在git中有两种类型的分支
- 正规(本地)分行
本地分支可以链接到远程跟踪分支(以及远程跟踪分支的副本)(可能有更改)-然后远程跟踪分支称为本地分支的“上游分支”。此“上游关系”存储在repo config(.git/config)中,并在git branch-vv
的输出中可见
现在的问题是:git svn没有上游分支的概念
特别是,它不会在git config中存储上游关系,因此像git branch-vv
这样的命令无法显示它
git使用“上游分支”来决定从哪里拉,从哪里推(或多或少;它是可配置的)
相反,git svn在本地分支的历史中只是简单地追溯到来自svn的最新提交(带有“git svn id”的最新提交)。该提交还将命名创建它的SVN分支(即SVN repo中的路径)(它是“git SVN id”之后字符串的一部分)。git svn随后将使用该svn分支
以下章节对此进行了描述:
注意以下规则:git svn dcommit将尝试在顶部提交
中指定的SVN提交的
git日志--grep=^git svn id:--第一个父级-1
手册中没有提到这一点,但我相信,git svn rebase
使用了类似的规则