如何在SVN中更新文件?

时间:2009-06-03 08:36:13

标签: svn

任何人都可以告诉我更新SVN存储库中文件的命令。该文件已导入,我只想修改更改。

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

有人可以给我一个确切的命令吗?

5 个答案:

答案 0 :(得分:8)

我猜你已经使用“svn import”将文件存入存储库。如果是这种情况,那么磁盘上的本地文件是工作副本的一部分,您将无法“svn”提交它。

为了验证这一点,请从您的代码所在的目录运行svn info。如果显示:svn: '.' is not a working copy,则您当前的目录不是工作副本。

您需要做的是:

  1. svn checkout您的项目从存储库到本地工作副本(临时目录)。
  2. 将更改复制到工作副本上的现有文件
  3. svn commit这些变化。
  4. 完成后,重命名原始项目位置(您现在工作的位置)并将工作副本移到其中。您现在可以正常工作svn commit

    如果您现在使用的文件夹被调用:/home/username/myproject,则工作副本称为/tmp/workingcopy。然后你可以输入以下内容:

    1. mv /home/username/myproject /home/username/myproject.old
    2. mv /tmp/workingcopy /home/username/myproject
    3. 现在继续/home/username/myproject的工作,如果您确定所有代码都在svn存储库中,则可以删除myproject.old

答案 1 :(得分:5)

有三种方法可以解释您的问题:

  1. 您只在subversion存储库中拥有该文件,并且您想要修改其内容
  2. 您拥有存储库和磁盘上的文件,尚未进行任何更改,并且您希望修改其内容。
  3. 您拥有存储库和磁盘上的文件,磁盘上的文件包含更改,并且您希望使用这些更改更新存储库版本
  4. 如果是第一个,您需要首先将文件签出到磁盘上的工作副本,然后继续前进到案例2。

    如果是第二个,则需要使用更改修改磁盘上的文件,然后转到案例3。

    如果是第三个,则需要将更改提交到存储库。

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

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

    这里真正的问题是你不知道如何使用Subversion。我会找到一个Subversion教程并使用它,创建一个临时存储库并将文件放入其中,使用提交,检出,恢复,日志等命令来了解系统的工作原理。

答案 2 :(得分:1)

svn ci filename

答案 3 :(得分:1)

快速回答:使用'提交'

那么,哪个操作系统,哪个客户端?

如果在Windows上,TortoiseSVN最好。

答案 4 :(得分:0)

使用Mac OS,并拥有指向SVN的Url链接。按照步骤

- 打开终端。

- 将目录更改为所需路径(例如:cd Desktop /)。

-Type命令:svn checkout url

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

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

- 为了从终端更新svn,cd到路径并输入命令:svn update