从git转向subversion(是的,那样的):使用trunk

时间:2012-10-15 21:00:24

标签: svn version-control git-svn

我已经使用git 2年了,并且喜欢它。但是,我正在为一家坚持使用svn的公司做一些工作,所以我需要将我的git方式移植到svn。

这是我到目前为止所学到的:

svn co https://the.remote.repo
touch myrepo/trunk/mytest.c
svn add myrepo/trunk/mytest.c 
cd myrepo/
svn commit -m "added test file"

检查我的仓库,添加一个文件,提交然后推送它。

我已经有一个非svn项目(非git,它还没有受版本控制(我知道可怕))。如何将现有项目转换为svn回购?我可以这样做:

svn co https://the.remote.repo my_existing_non_svn_directory

trunk中创建my_existing_non_svn_directory子目录。使用git时没有trunk所以这可行,但是svn,我是否必须将所有代码移到主干中?有没有办法解决这个问题,还是仅仅svn

非常感谢。

2 个答案:

答案 0 :(得分:3)

使用Subversion(与Git不同),您可以轻松签出部分树。所以在你的第一个例子中你可能会这样做:

svn co https://the.remote.repo/trunk myrepo

然后,您的工作目录中不会有trunk / tags / branches层次结构,这使得这更简单,更快。

在你的第二个例子中,如果你有一个基本上是空的Subversion repo(你已经设置了trunk / tags / branches层次结构),那么你可以查看https://the.remote/repo/trunk并得到一个空的目录,你可以在其中添加你的文件。

答案 1 :(得分:1)

您可以将未版本化的树导入存储库:

>svn help import
import: Commit an unversioned file or tree into the repository.

svn import my_existing_non_svn_directory https://the.remote.repo/trunk

稍后使用此repo处理git-svn

另一种风格

  • svn co空新主干
  • 将项目树复制到WC
  • 添加/忽略/提交