使用git和svn

5
我必须使用svn作为源代码管理工具,但我想在本地使用git分支。我想知道是否存在问题以及最佳方法是什么。我了解了“git svn”,但似乎我必须同步整个svn存储库才能使用它,这不是一个选择。假设我是唯一的开发人员(没有git push/pull在开发人员之间),并且只想在本地使用git。最好的方法是什么?只需在本地检出的项目上“git init”?并在同一文件夹中同时使用这两个工具?还有更好的方法吗?

3
我读到了关于“git svn”的内容,但看起来我需要同步整个svn库才能使用它。这不是一个选择。为什么呢?不管你信不信,.git文件夹通常比所有的.svn文件夹加在一起要少得多。最糟糕的部分是在克隆时花费的时间,所以你可能想在晚上或周末进行。如果你真的不想这样做,你可以像这个问题中描述的那样使用“浅克隆”来使用-r:https://dev59.com/ZnRB5IYBdhLWcg3wAjXR - Tyler
2
是的,您可以在同一个文件夹中使用这两个工具。只需确保将.svn/放入.gitignore中,并将.git.gitignore放入svn:ignore属性中,以便这两个工具不会显示彼此的元数据。 - Tyler
3个回答

5

您不需要同步整个代码库。您可以克隆所需的模块:

git svn clone --stdlayout http://myrepo/module

那将会拉取该模块的全部历史记录。你可以直接获取 HEAD
git svn clone --stdlayout -r HEAD http://myrepo/module

这是我大多数工作日的工作方式。

关于git-svn工作流程,有很多相关问题...只需按照答案右侧的链接即可查看 :-)


2

使用git svn。您不必同步整个存储库,可以仅同步特定分支,并跳过旧的历史记录。但是,您需要同步所选分支上自那时以来的所有修订版。如果没有这样做,它将会远不如此有用。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接