我正在开发一个使用 subversion 作为其存储库的项目。因为我需要做一些还不能发送到svn服务器的更改,所以我开始使用git svn
,以便我可以进行本地签入。我的设置如下所示:
分支:主干(跟踪 svn 主干)、主干(非常接近 svn 中的内容)和主题。
*------------------ trunk
\
*-----------*--------- master
\
*-------- topic
工作流程:
[on branch master]
$ git svn fetch
$ git svn rebase
$ git checkout -b topic
$ git rebase master
[hack hack hack]
$ git commit -a
[once upstream is ready for my changes]
$ git svn fetch
$ git checkout master
$ git svn rebase
$ git checkout topic
$ git rebase master
$ git svn dcommit
$ git checkout master
$ git svn rebase
$ git branch -d topic
假设没有人在 and 之间提交 svn git svn fetch
,那么 run on master 和git svn rebase
run
on master 基本一样吗?git svn rebase
git rebase trunk
是否有更明智的工作流程可供使用?似乎有很多变化的分支和变基正在进行。我知道我希望能够在 svn 中的任何内容之上重新调整我的工作,但似乎我正在做比严格必要的更多的重新调整。