我刚刚发现即使该rebase部分git help svn说
这将从当前HEAD的SVN父级获取修订,并针对它重新定义当前(未提交到SVN)的工作.
(我的重点)并不意味着rebase 包含一个git svn fetch.除了命名,是否有一些方法可以运行单个git svn命令来执行这两个操作?
我想这样做的原因是我只在一个分支上写,所以我想要rebase那个,我经常阅读其他分支,所以我想要fetch那些.
me_*_*and 21
我认为你是混乱git rebase和git svn rebase.前一个移动会将您当前的HEAD提交到您指定的某个修订版,而后者会将您当前的HEAD移动到您所在的Subversion分支的顶端.
git svn rebase 确实包含a git svn fetch --parent,即它将在你当前所在的分支上获得任何新的Subversion提交,但不会从任何其他分支获得任何Subversion提交(与git svn fetch从所有分支获取的普通对比).
我怀疑你不想做一个完整git svn fetch的git svn rebase,因为这意味着你得到一个可用的工作副本之前会更长.如果你想要常规的git svn fetches,我建议你设置一个cron作业,在后台为你做取件.
听到这实际上是它的表现方式,我也有点惊讶.但是,要回答您的问题,您只需要定义一个别名:
git config --global alias.refetch '!git svn fetch && git svn rebase'
然后git refetch应该做你想要的.