如何在SVN中更新文件?

Ang*_*ine 6 svn

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

文件是main.css和文件路径/home/weblab/public_html/cake_1_2/app/webroot/css.

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

Ger*_*ies 8

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

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

那你需要做的是:

  1. svn checkout 您的项目从存储库到本地工作副本(临时目录).
  2. 通过工作副本将更改复制到现有文件
  3. svn commit 那些变化.

完成后,重命名原始项目位置(您现在工作的位置)并将工作副本移动到其位置.您现在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,myproject.old如果您确定所有代码都在svn存储库中,则可以删除


ang*_*son 5

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

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

如果是第一个,您需要首先将文件签出到磁盘上的工作副本,然后继续前进到案例2.

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

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

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

svn ci -m "Text that describes the changes that were done"
Run Code Online (Sandbox Code Playgroud)

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