apache - 在非空远程文件夹中创建存储库
问题描述
自从我上次使用 svn 已经 14 年了,我似乎忘记了一切......
我有一个现有的网络项目,由 V-Server 上的目录树中的一堆 php、html、js 和其他文件组成。现在我想将这些文件夹置于版本控制之下,并使用 svn 在我的本地机器上创建一个副本。所以我根据这些说明安装了 subversion:https ://www.linuxcloudvps.com/blog/how-to-install-svn-server-on-debian-9/ 使用已经存在的 apache2。
但现在我有点遇到障碍了。如果我尝试svnadmin create
现有文件夹,它会告诉我它不是空的并且什么都不做。我在这里和其他地方找到的所有问题和答案都是 a)专注于本地机器上已经存在的文件夹 b)假设比我现在拥有更多的先验知识,也就是我不理解它们。
是否有针对任何地方的假人的分步指南,说明如何执行此操作?或者任何人都可以用外行的方式告诉我如何做到这一点?我不敢相信这个案子永远不会出现,或者它真的非常复杂。
解决方案
冒着无法理解您的确切需求的风险,我认为您可以按照以下方式进行。我将使用以下术语:
代码:它是 V-Server 上的未版本控制目录,您当前拥有一堆 php、html、js 和其他文件
Repository:这是您需要创建的第一个“特殊”目录,用于存储您的 Subversion 历史记录并可能与他人共享。必须有一个,而且只能有一个。
工作副本:这是您需要创建的第二个“特殊”目录,以便在您的 php、html、js... 文件被版本化后使用它们,并且它将链接到您的存储库的给定路径和修订版。在给定的时间,可能有零个、一个或多个。
您的代码是否可以成为工作副本,这取决于您,但它永远不会成为存储库:
$ svnadmin create /path/to/code
svnadmin: E200011: Repository creation failed
svnadmin: E200011: Could not create top-level directory
svnadmin: E200011: '/path/to/code' exists and is non-empty
您的存储库需要一个空文件夹,但它可以位于您喜欢的任何位置,只要您可以从您将在日常工作中使用的机器访问它。访问意味着它位于您的 PC 中(因此您使用该file:
协议),或者可以通过您已安装和配置的服务器访问它(svn:
或http:
)https:
。
$ svnadmin create /path/to/repo
$
您可以在需要使用 IDE 的任何地方创建工作副本。它可以是空目录(通常情况下)或非空目录。checkout 命令从 repo 中检索您的文件并将它们放入工作副本中,因此,在稍后阶段,您可以运行 commit 命令将新的和更改的文件提交到存储库。正如您所知道的,在随机目录中创建工作副本并不是一个好主意,因为传入的文件会与现有文件混合。然而,有一种特殊情况是有意义的:当存储库位置是新的并且仍然是空的时。在这种情况下,您可以在两种方法之间进行选择:
如果您希望代码成为工作副本,您可以直接签入,然后进行初始提交以上传所有文件:
$ svn checkout file://path/to/repo /path/to/code Checked out revision 0. $ svn add /path/to/code --force A code/index.php $ svn commit /path/to/code -m "Import existing codebase" $ Adding /path/to/code/index.php $ Transmitting file data .done $ Committing transaction... $ Committed revision 1.
如果您不关心存储在存储库中的代码,或者您希望将工作副本放在其他位置,则可以从代码中导入文件并在新目录中创建工作副本:
$ svn import /path/to/code file://path/to/repo -m "Import existing codebase" Adding code/index.php Committing transaction... Committed revision 1. $ svn checkout file://path/to/repo fresh A fresh/index.php Checked out revision 1.
推荐阅读
- clickatell - 在开发者中心使用 clickatell
- c++ - 如何使用 range-v3 获得集合的所有权?
- angular - ionic , angular - index.html 中的全局变量,由其他 ts 页面调用
- python - 空闲和蟒蛇
- jenkins - GIT_SSH 在我的一个 Windows 从属服务器上不起作用
- matlab - 是否可以在 Matlab 中分离 imcontour 给出的不同级别的轮廓?
- c# - 限制 MVC 方法的下载次数
- css - 使用标签移动导航栏品牌文本
- c# - 带插值的计算器
- sql - Microsoft SQL Server 2014 - 告诉我下面的 SQL 语句到底出了什么问题