[英]Which remote branches are my local git-svn branches bound to?
我在使用git-svn的克隆存储库中有以下.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
我怎么知道本地master
分支绑定到哪个远程(跟踪)? 注意,由于正常的git解决方案(例如git remote show origin
)不起作用,因此此答案似乎必须特定于git-svn。
编辑
在仔细阅读了我的问题之后,我不确定它是否有意义。 基本上我只是想知道绑定到哪个SVN分支“ master”。 我以为遥控器是分支机构,但实际上它们只是其他回购协议AFAIK的URL。 所以,我真正想要的是远程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存储库中的路径)(它是“ git-svn-id”之后的字符串的一部分)。 git-svn然后将使用该SVN分支。
这在git-svn手册页中进行了描述:
请注意以下规则:git svn dcommit将尝试在名为的SVN提交之上进行提交
混帐日志--grep = ^ git-svn-id:--first-parent -1
手册中没有对此进行说明,但我相信git svn rebase
使用类似的规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.