有什么理由我不能只使用git来跟踪我的svn结账的变化吗?

时间:2014-03-11 14:37:13

标签: git svn

我已经习惯在我的一些家庭项目和工作项目中使用git来跟踪我在自己的文件夹中所做的更改。我想用它来跟踪我对svn checkout中的一组文件所做的更改。

我已经读过关于git-svn的内容,看起来它似乎比我想要/需要的更多。

我认为我真正想做的就是(在这一点上)是使用git跟踪一组文件/目录的更改,这些文件/目录只是“发生”为svn结帐。

我想我甚至会在git中包含.svn目录(但不包括svn中的.git目录)。我的想法是,如果我切换回一个旧分支,我的结账将与我上次离开时​​的情况完全相同。

这对我来说似乎是一种直接的前进方式,是否有一些具体原因不起作用?

2 个答案:

答案 0 :(得分:1)

我也是这样做的。我同时将svn结帐转换为独立的git个回购。但是,我没有包含.svn目录,我认为你不应该这样做。

我每天都在使用的实际优势:

  • git ls-files | grep file-im-looking-for
  • git grep something-im-looking-for
  • 本地实验分支

通过简单的Subversion结帐,这对我来说真的很有用。

为什么不在没有Subversion的情况下首先使用Git?我无法控制存储库所有者,因此实际上没有选择权。而git-svn对于大型存储库来说太脆弱了。

最后,我将.gitignore添加到Subversion存储库,并忽略.git文件夹。这对于同样做这种事情的同事来说也很实用。我也指望其他开发人员在Subversion存储库中看到这样的Git相关内容,我希望让他们感到惊讶,并可能推动我将回购迁移到Git的议程。

答案 1 :(得分:1)

我已经跟踪了大量非常活跃的SVN存储库(Dungeon Crawl Stone Soup,如果你绝对需要知道的话)很长一段时间,没有任何问题。但是,在推动更改的方向上没有做任何事情,只是使用git打包我的(次要)补丁来报告他们的bug跟踪器。唯一的问题是最初的克隆需要一天多的时间,IIRC。但后来他们转移到git一段时间......