首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git svn rebase always rebase master?

git svn rebase always rebase master?
EN

Stack Overflow用户
提问于 2011-10-07 23:40:51
回答 2查看 2.5K关注 0票数 1

我正在尝试创建一个git存储库,它有几个分支,每个分支跟踪一个不同的svn存储库。我希望master只是一个git分支,而不是svn分支之一。

这是我的初始设置:

代码语言:javascript
复制
$ mkdir repo
$ cd repo
$ git init
$ touch README
$ git add .
$ git commit -m "Initial Commit"
$ git svn init -Rsvn1 --prefix svn1/ svn://...
$ git svn fetch svn1
$ git checkout --track -b svn1 svn1/git-svn

到目前为止,一切正常: git branch -a显示了一个名为master的本地分支(它只包含自述文件)、一个名为svn1的本地分支(它包含我的svn repo克隆)和一个remotes/svn1/git-svn分支。我可以通过重复最后三个命令来创建svn2、svn3等。

问题在于获取更新:如果我在签出svn1的同时运行"git svn rebase“,那么master会重新基址,而不是svn1。即使我使用"git svn rebase svn1“或"git svn rebase svn1 svn1”,也会发生这种情况。

有没有办法让git svn rebase离我的主站远点?

EN

回答 2

Stack Overflow用户

发布于 2011-10-10 06:48:21

如果您只想获得svn更新,而不想更改任何内容的基址,请使用git svn fetch命令。您可以使用git svn fetch --fetch-all从所有已定义的svn存储库获取svn更新。

如果您想使用另一个分支而不是主分支重新建立基础,请先切换到另一个分支,然后再执行git svn rebase。此命令使用当前HEAD重新设置基址。

票数 2
EN

Stack Overflow用户

发布于 2012-11-18 01:21:19

您需要计算出您拥有的所有分支。Git需要跟踪远程,所以列出它们,并找到您想要重新建立基础的远程:

代码语言:javascript
复制
$ git branch -a
* master
remotes/trunk
$ git svn fetch
$ git rebase remotes/trunk
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7689577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档