我怎样才能正确地使用Git SVN?

时间:2013-06-20 23:12:13

标签: git svn version-control git-svn tortoisegit

在工作环境中,我们的版本控制是Subversion,而且不太可能改变。我想在本地使用Git,主要是为了本地存储库的优势。

上下文

基本网址:http://www.example.com/code ./ trunk ./ branches ./ tags )。

使用TortoiseGit,我能够指定要检出哪一个。我想在本地提供所有分支,标签和主干。这意味着,如果需要,我可以根据其中一个远程分支从本地分支合并回主服务器。

如何正确执行此操作?

在这个漫长的过程完成之后,我尝试使用TortoiseGit的“SVN Rebase”从master转到remotes/branch/test-branch来重新绑定到 remotes / branches / EXAMPLE-BRANCH1 。这失败了,说师傅落后了。

当我尝试从master转到基于remotes/branch/test-branch的本地分支时,合并无效。

1 个答案:

答案 0 :(得分:0)

使用标准布局克隆您的仓库,包括所有主干/分支/标签(如您所述):

git svn clone -s http://www.example.com/code new-repo-directory

注意:使用git不是灵丹妙药。您仍然需要解决合并/ rebase冲突。你可能会少得多,但它们不会完全消失。失败可能是准确的,表示您需要解决冲突,然后使用git rebase --continue完成您的变基。

我确信Tortoise对许多事情都有很大的帮助。但是我多次被告知,如果你学会使用命令行(我相信我同意)你将从git中获得更多,并且一旦你理解它们是什么就只使用GUI助手作为工具在幕后做。

PS - git svn rebase用于在当前SVN跟踪分支的顶部应用SVN中所做的更改。如果您尝试合并2个不同的SVN跟踪分支,则需要使用git checkout branch-to-update然后git rebase branch-with-updates(并解决所有冲突,然后git add the-conflicted-filegit rebase --continue,直到完成为止)