如何在SVN中更新文件?

6

有人能告诉我在SVN存储库中更新文件的命令吗?该文件已经被导入,我只想修改更改。

文件名为main.css,文件路径为/home/weblab/public_html/cake_1_2/app/webroot/css

能否给我详细的命令?

5个回答

9
我猜你使用了"svn import"将文件导入到仓库中。如果是这样,请注意,你本地磁盘上的文件不是工作副本的一部分,你将无法将其提交("svn commit")。为了验证这一点,请从代码目录运行"svn info"命令。如果它说:"svn: '.' is not a working copy",则说明你当前的目录不是一个工作副本。接下来需要做的是:
1. 从仓库中将项目使用 "svn checkout" 命令检出到本地工作副本(暂时目录)。 2. 将更改复制到现有文件上的工作副本。 3. 提交这些更改使用 "svn commit" 命令。
完成上述步骤后,重命名原始项目位置(你正在工作的位置),并将工作副本移动到该位置。现在你可以像平常一样从工作副本提交代码了。如果你目前使用的文件夹名称为:/home/username/myproject 并且工作副本名称为:/tmp/workingcopy,那么你可以输入以下命令:
1. mv /home/username/myproject /home/username/myproject.old 2. mv /tmp/workingcopy /home/username/myproject 现在可继续在/home/username/myproject中进行工作。如果你确定所有代码都在svn仓库中,你可以删除myproject.old

你说得完全正确。现在我能够在svn中更新了。 但是我不理解第二部分。如何将我的项目位置作为工作位置?我现在正在使用cakephp。如何将工作副本移动到我的cakephp文件夹并使用它? - Angeline
请查看我对上面答案的补充,了解如何使用svn工作副本替换你的文件夹。 - Gerco Dries

5

您的问题有三种解释:

  1. 您只拥有一个子版本库中的文件,并且想要修改其内容
  2. 您同时在版本库和磁盘上拥有该文件,尚未进行任何更改,并且想要在两个位置修改其内容
  3. 您同时在版本库和磁盘上拥有该文件,磁盘上的文件包含更改,并且您想使用这些更改更新版本库版本

如果是第一种情况,您需要先将文件签出到磁盘上的工作副本,然后继续进行第二种情况。

如果是第二种情况,您需要使用更改在磁盘上修改文件,然后继续进行第三种情况。

如果是第三种情况,您需要将更改提交到版本库。

您可以使用所选的Subversion客户端完成此操作。如果使用命令行,则典型命令如下:

svn ci -m "Text that describes the changes that were done"

然而,真正的问题在于你不知道如何使用Subversion。我建议你找一份Subversion教程来学习,创建一个临时仓库并将文件放入其中,尝试使用提交、检出、还原、日志等命令,以便更好地了解系统的工作原理。


我的是第三种情况。不需要提到文件名吗? - Angeline
默认情况下,Subversion 将提交工作目录下的所有修改文件。如果你只想提交一个文件,可以将其路径作为附加参数添加到提交命令中。 - Vincent Robert
1
关于Subversion教程:http://svnbook.red-bean.com/是一本优秀的免费电子书,介绍了版本控制的基础知识和特别是svn的使用。 - balpha

1

svn ci 文件名


我要么得到“它不是工作副本”的错误,要么得到“无法打开文件'/.svn/entries':没有这样的文件或目录”的错误。 - Angeline

1

快速回答:使用 'Commit'。

好的,是哪个操作系统,哪个客户端?

如果在Windows上,TortoiseSVN是最好的选择。


它是Ubuntu操作系统。提交确实有效,或者我想我没有正确提及路径。 - Angeline

0

使用 Mac OS,并且有一个指向 SVN 的 URL 链接。请按照以下步骤操作:

- 打开终端。

- 切换到所需路径(例如:cd Desktop/)。

- 输入命令:svn checkout url

 $MacBook-Pro:~ worktpg$ svn checkout http://stackoverflow.com/questions/

-如果提示,请输入用户名和密码,等待进程完成

-要从终端更新svn,请cd到路径并键入命令:svn update


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接