【发布时间】:2013-01-05 13:57:56
【问题描述】:
我有一个 SVN 存储库,我使用 git-svn 签出,使用 --stdlayout 选项(当时,存储库是空的)。
然后我在 master 分支上工作了一段时间。当使用git svn dcommit 时,它会像它应该的那样将我的更改提交到https://my.host/repo/trunk。
在某个时候,我用 git 创建了一个名为“算术”的分支。后来我也想在 svn 中创建那个分支,所以我按照网站的建议做了一个git svn branch arithmetics,然后是一个git branch --set-upstream arithmetics remotes/arithmetics。我想这是出了问题的地方,因为我收到了关于 --set-upstream 被弃用的警告。
当调用git svn dcommit 时,它会提交到https://my.host/repo/branches/arithmetics,到目前为止一切顺利。但后来我注意到,当我尝试将分支合并回 master 时,dcommit 将提交到该分支,而不管 git 存储库中当前签出的分支如何。
我什至尝试从 svn 创建一个新的克隆,将分支合并到那里的 master 中。我还尝试使用git checkout -b local/trunk remotes/trunk 明确检查trunk,然后将分支合并到其中,然后再合并git svn dcommit。它总是会再次提交到分支。
我该如何解决这个问题?
PS:我使用git rebase 进行合并,据我所知,git-svn 的合并提交有问题,所以我没有这些。
【问题讨论】:
-
很容易理解 git-svn dcommit 会将更改发送到哪里:运行“git log”并查看“git-svn-id:”签名。会有将更改发送到的 URL。
标签: git svn git-svn branching-and-merging