更新git-svn远程分支列表

Dan*_*tep 28 svn git branch git-svn

当我必须使用svn时,我使用git-svn与svn对话.我用标准的git svn clone -s行克隆了repo,当时所有的远程分支都在那里.

从那时起,一个新的分支已经创建,但不是我.我想在本地结帐/跟踪这个分支.我可以跟踪一个我能看到的分支(使用git branch -r),如下所示:

git checkout -t -b dev remotes/development
Run Code Online (Sandbox Code Playgroud)

但这不适用于其他分支,因为它没有出现在git branch -r中

如何跟踪这个缺失的分支?

Gre*_*con 44

运行以下命令后,您将能够在git端看到新分支:

$ git svn fetch
$ git svn rebase
Run Code Online (Sandbox Code Playgroud)

确保您的分支首先是干净的.

  • 谢谢你的提示.我通常只是``git svn rebase``.添加fetch就可以了. (2认同)

小智 10

git svn rebase
Run Code Online (Sandbox Code Playgroud)

将重新定义当前分支,并且应在本地存储库配置中自动获取您指定的所有分支.

git svn fetch
Run Code Online (Sandbox Code Playgroud)

将按照最初执行git svn克隆(包括新克隆)时的描述从SVN存储库中获取所有分支.这与行为形成鲜明对比

git fetch
Run Code Online (Sandbox Code Playgroud)

它只获取你指定的分支,就像使用git svn rebase一样.

这种差异主要是因为git无法"看到"SVN遥控器分支,直到它们被拉入本地存储库与克隆git存储库和git branch -a显示所有远程分支(即使是那些不是跟踪/不会使用提取更新).