16

如何git svn fetch工作?提取的那个分支在哪里,以便我可以与我的主分支或其他分支合并或变基?git remote因为在我的存储库中没有给我任何东西,所以从哪里获取数据git svn

4

3 回答 3

16

这是如何git svn fetch工作的:

使用时,您git-svn没有使用git时的远程svn服务器,您只需在本地.gitconfig文件中有一个到远程svn服务器的链接。

如果您想将当前分支更新到最新版本,您可以使用git svn rebase. 但是,如果您的 svn 项目很大,您可能会处于不知道最后一次修订是否成功构建的情况。如果您想更新到您确定是成功构建的特定修订版,例如您使用 Jenkins,它会为您提供最后一次成功构建,您必须首先获取您想要的修订版,然后使用获取的提交进行rebase .

为此,您可以git svn fetch -r <revision>。这将在本地获取提交,直到想要的修订。要对获取的数据进行变基,您必须使用git svn rebase -lgit svn rebase --local。您不必在线进行本地变基。

于 2013-07-06T10:17:33.177 回答
2

默认情况下 git-svn 跟踪分支是remotes/git-svn,您可以使用它在git svn fetch.

于 2015-01-26T15:55:30.880 回答
-1

不幸的是,git-svn 工具实际上并没有将远程 SVN 分支变成真正的 Git 远程。它们看起来像遥控器,但实际上并不能起到遥控器的作用。git-svn 在内部跟踪分支,我也发现它有点令人沮丧。

但是,您可以从 SVN 分支分支或从它们合并。运行git branch -r以查看所有远程跟踪分支,包括由 git-svn 创建的伪分支:

$ git branch -r
svn/SVNBranch1
svn/SVNBranch2
$ git checkout -b branch1 svn/SVNBranch1
于 2013-07-02T16:27:19.003 回答