我已经使用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
?
非常感谢。
答案 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
空新主干