如何将单个文件从本地计算机上传到SVN存储库?
我可以导入目录,但我无法将单个文件导入现有目录。
我在linux(命令行)中使用SVN。
任何帮助都将不胜感激。
编辑: 我忘了提一下,我需要将这个文件上传到一个与本地计算机中的目录结构无关的特定目录(比如我从桌面上传)。
所以我想将一个文件从桌面上传到https://.../somefolder
答案 0 :(得分:21)
这可以按照OP的要求来完成。
svn import -m "Adding a new file" file_to_upload.ext http://example.org/path/to/repo/file_to_upload.ext
这允许直接将文件上传到存储库,而无需签出本地工作目录。
答案 1 :(得分:13)
嗯,简短的回答是它不能像那样工作:) 在SVN中,您使用已检出的存储库修订版。为了“上传单个文件”,你必须用“svn add foo.txt”“添加”文件,然后运行“svn commit -m”添加文件foo“foo.txt”。但是您只能对现有存储库执行此操作。因此,您必须首先签出存储库的修订版(trunk或给定分支的rev)以将文件添加到。所以整个步骤就像是
- svn co https://svn.internal.foo.com/svn/mycoolgame/branches/1.81
- 在签出的文件夹结构中的正确位置创建新文件。
- svn添加您的新文件
- svn ci -m“添加文件lalalalala”你新文件
此后,您可以再次删除本地副本。
8年编辑如上所述,svn import也可用于完成此操作,而无需在版本控制下使用本地副本。请注意,这是递归的,并将添加存储库中不存在的目录。根据情况,这可能是期望的行为或潜在错误的来源。
答案 2 :(得分:1)
svn add filename
svn commit filename
答案 3 :(得分:1)
svn add /path/to/your/file.txt
svn ci /path/to/your/file.txt -m "This is where the message goes"
或者,如果你没有添加任何其他内容,只需提交
svn ci -m "Your message"