Svn 将新文件添加到subversion存储库
我在本地Unix计算机上有一些文件需要添加到存储库(通过HTTPS访问)。我该怎么做 在目录中执行Svn 将新文件添加到subversion存储库,svn,Svn,我在本地Unix计算机上有一些文件需要添加到存储库(通过HTTPS访问)。我该怎么做 在目录中执行svn commit,只表示它不是工作目录 签出存储库的工作副本(或至少签出要将文件添加到的子目录):svn Checkouthttps://example.org/path/to/repo/bleh 复制那边的文件 svn添加文件1文件2… svn提交 我不知道有什么更快的选择 注意:如果您与Subversion存储库在同一台机器上,URL可以使用文件:说明符,在svn checkout命令中
svn commit
,只表示它不是工作目录 - 签出存储库的工作副本(或至少签出要将文件添加到的子目录):
svn Checkouthttps://example.org/path/to/repo/bleh
- 复制那边的文件
svn添加文件1文件2…
svn提交
文件:
说明符,在svn checkout
命令中使用路径代替https:
。例如svn签出file:///path/to/repo/bleh
PS.正如评论和其他答案中指出的,您可以使用类似于
svn导入的功能代码>如果要递归导入当前目录中的所有内容。但是,使用此选项,您不能跳过某些文件;要么全有,要么全无。可能svn import
将是最好的选择。退房(入住)
svn import命令是复制未版本的
将文件放入存储库,创建中间目录作为
必要的。svn导入不需要工作副本,您的文件
立即提交到存储库。您通常使用这个
当您已有要开始的文件树时
在Subversion存储库中进行跟踪。例如:
$ svn import /path/to/mytree \
http://svn.example.com/svn/repo/some/project \
-m "Initial import"
Adding mytree/foo.c
Adding mytree/bar.c
Adding mytree/subdir
Adding mytree/subdir/quux.h
Committed revision 1.
$
上一个示例复制了本地目录mytree的内容
进入存储库中的目录some/project。注意你
不必在svn导入之前创建新目录
为你。提交之后,您可以立即在
存储库:
$ svn list http://svn.example.com/svn/repo/some/project
bar.c
foo.c
subdir/
$
请注意,导入完成后,原始本地目录
未转换为工作副本。在中开始处理该数据
作为一种版本化的方式,您仍然需要创建一个新的工作副本
那棵树
注意:如果您与Subversion存储库在同一台计算机上,则可以使用带有路径的文件://
说明符,而不是带有URL说明符的https://
。在可以在未版本目录中添加文件之前,必须将目录本身添加到版本控制中:
svn add directory_name
将添加目录directory\u name
和所有子目录:通常svn add*
工作。但如果您收到类似于svn:warning:w15002:
的消息,这是因为工作副本中混合了非版本文件和非版本文件。使用此命令:
svn add <path to directory> --force
在SVN中添加新文件的步骤
svn add file_name
svn commit -m "text about changes..."
在SVN中的目录中添加新文件
svn add directory_name/file_name
svn commit -m "text about changes"
要在目录中添加所有新文件,并且某些目标(文件)已进行版本控制(添加),请执行以下操作:
svn add*--force更快的选项是使用svn import作为@versionControlBuddysuggests@ChrisMarotta如果您要导入目录或单个文件中的所有内容,但不导入目录中的文件子集,则可以使用此方法<代码>svn导入
仅接受单个路径参数。不过,老实说,我当时不知道svn import
可以与已经填充的存储库一起使用。无论如何,谢谢你指出这一点!从代码中删除.svn文件夹以避免两个子版本之间的冲突。然后添加文件。@nordmanden您可以尝试svn导入的--force
选项。。。但不能保证。我自己不使用SVN。我的猜测是,这根本不受支持/允许-因此,如果它不起作用,您将不得不询问SVN人员原因。@nordmanden我的印象是Subversion合并是在存储库中完成的,比如从分支到主干或从存储库到工作集。因此,如果您执行签出操作
来创建工作集,然后更新工作集,然后执行提交操作,那么您使用的是Subversion merge,而不是针对它。如果存储库是空的,则导入
应该可以,或者您正在现有存储库中创建一个新文件夹,其中包含内容。svn add directory_name/*svn commit-m“text about changes”这只适用于传输文件。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。在linux中。
svn add directory_name/file_name
svn commit -m "text about changes"
svn add directory_name/*
svn commit -m "text about changes"