`git svn rebase` vs`git rebase trunk`
请注意,从git svn中详细描述了“为什么我们的”和“他们的”的意思是用git-svn来颠倒的:“
git svn rebase
这会从当前HEAD的SVN父节点获取修订,并将当前(未提交到SVN)的工作重新绑定到它。
所以你不需要在你的git checkout master
和git svn rebase
之前git svn fetch
git svn rebase
,特别是如果你只跟踪trunk
( master
父级)。
第二点, git svn dcommit
将创建SVN版本为每个新提交的master
,但你的工作流程并没有表现出任何新的承诺的master
,只在topic
(未合并过上master
)
OP Sean McMillan评论道:
根据文档,没有指定分支的git svn dcommit
推送当前HEAD上的提交,而不仅仅是在master
。 所以我从我的分支承诺SVN,然后依靠master
上的git svn rebase
将SVN中的提交返回。 在我dcommited
之后,我放弃了topic
分支。 这不是犹太教吗?
他详细说明:
我无法将它们发送给SVN。 上游希望“冻结”发行版的主干,同时,我正在为下一个版本开发功能。
但最终的问题是,“ git rebase trunk master与master分支上的git svn rebase是一样的吗? ”如果是这样,那么我不需要经常更改我的分支,只是为了对抗SVN的主分支。 但是,如果不是这样,并且当我拼命改变基调时会发生某种魔术,我想知道。
我对此回复:
一个git svn fetch
后跟一个git rebase trunk master
将会等同于git svn rebase
。