我已经习惯在我的一些家庭项目和工作项目中使用git来跟踪我在自己的文件夹中所做的更改。我想用它来跟踪我对svn checkout中的一组文件所做的更改。
我已经读过关于git-svn的内容,看起来它似乎比我想要/需要的更多。
我认为我真正想做的就是(在这一点上)是使用git跟踪一组文件/目录的更改,这些文件/目录只是“发生”为svn结帐。
我想我甚至会在git中包含.svn目录(但不包括svn中的.git目录)。我的想法是,如果我切换回一个旧分支,我的结账将与我上次离开时的情况完全相同。
这对我来说似乎是一种直接的前进方式,是否有一些具体原因不起作用?
答案 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一段时间......