[英]How Can I Do Git SVN Correctly?
在工作环境中,我们的版本控制是Subversion,并且不太可能更改。 我想在本地使用Git,主要是为了利用本地存储库。
语境
基本网址: http://www.example.com/code (与./trunk,./branches,./tags)。
使用TortoiseGit,我可以指定要签出的那个。 我想在本地提供所有分支机构,标签和中继。 这意味着,如果需要的话,我可以基于一个远程分支从本地分支合并回到主分支。
如何正确执行此操作?
在完成这一漫长的过程之后,我尝试使用TortoiseGit的“ SVN Rebase”将基准迁移到remotes / branch / EXAMPLE-BRANCH1 ,从master
转移到remotes/branch/test-branch
。 失败了,说主人落后了。
当我尝试从master
转到基于remotes/branch/test-branch
的本地remotes/branch/test-branch
,合并不起作用。
要克隆您的存储库,包括具有标准布局的所有主干/分支/标签(如您所述):
git svn clone -s http://www.example.com/code new-repo-directory
注意:使用git并非万能的。 您仍然需要解决合并/变基冲突。 您可能会少很多,但它们不会完全消失。 该故障可能是准确的,表明您需要解决冲突,然后使用git rebase --continue
完成git rebase --continue
。
我敢肯定,龟甲在很多事情上都能提供很大的帮助。 但是我多次被告知,如果您学会使用命令行(我相信我同意),并且在您了解GUI助手的工作方式之后,才将GUI帮助程序用作工具,将会从git中获得更多收益。现场。
PS- git svn rebase
用于将SVN中所做的更改应用到当前SVN跟踪分支的顶部。 如果您尝试合并2个不同的SVN跟踪分支,则需要使用git checkout branch-to-update
然后使用git rebase branch-with-updates
(并解决所有冲突,然后git add the-conflicted-file
和git rebase --continue
直到完成)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.