gpt4 book ai didi

svn - SVN “branch” 、 “tag” 和 “trunk” 与 composer 和配置文件的实现

转载 作者:行者123 更新时间:2023-12-04 14:30:27 27 4
gpt4 key购买 nike

我在这里阅读了很多关于 SVN 存储库中目录“branch”、“tag”和“trunk”含义的问答,现在我想我明白了,我正在尝试实现它。

我使用 Virtualmin 来管理我的服务器,并通过其 Web GUI 为我创建存储库。但是,一旦创建我的 repo 是空的,所以我想我需要自己创建目录结构并提交它。完成后,我将我的项目文件放在主干中,因为我处于稳定版本状态,我应该将它分支到 branch/xxx(这将是我开发中的一个保存点)和 tags/xxx(这将是我的开发版本)。

如果我在这里之前是对的,那么我将使用 Tortoise 切换到我的新标签,只有在我的下一次提交中才会更改它。顺便说一下,对于 Tortoise,我是否需要右键单击当前标签目录,还是仍然可以直接从我的项目的根文件夹提交/恢复?

我当前的项目有一个定义了几个绝对路径的配置文件 - 也许这是错误的,但我还没有找到任何方法来避免它。因为我希望能够看到我的项目从这些分支/主干中的任何一个运行,这是否意味着我需要为每个版本使用不同的配置文件?如果是这样,我应该将此文件添加到忽略列表中吗?我的意思是什么会被认为是好的做法?

额外的问题:如果我想在这种情况下使用 Composer,我的 composer.json 和 vendor 目录应该在哪里?

谢谢!

最佳答案

你混淆了标签和分支。标签不应被修改。它们通常是在您每次发布应用程序时(从主干或从分支)创建的。

分支用于保存正在进行的工作。

您应该将主干目录 checkout 到工作副本。要切换到分支,请使用 switch 命令。没有理由为每个分支设置单独的配置文件,因为您的工作副本在同一位置,可以指向您想要的任何内容:主干、分支甚至标签。关键是工作副本的根应该是你项目的根:

因此,假设您的项目文件包含以下文件:

index.php
config.txt
some_folder
foobar.php

您的 repo 将具有以下布局:
trunk
index.php
config.txt
some_folder
foobar.php
branches
maintenance_1.0
index.php
config.txt
some_folder
foobar.php
feature_refactor_index_page
index.php
config.txt
some_folder
foobar.php
tags
v1.0
index.php
config.txt
some_folder
foobar.php

你的工作副本将是:
MyProject --> references trunk
index.php
config.txt
some_folder
foobar.php

如果您想在功能分支上工作,请切换到该分支,然后您的工作副本将是
MyProject --> references feature_refactor_index_page
index.php
config.txt
some_folder
foobar.php

所以它会完全相同,并且配置文件没有理由包含不同的文件路径。

关于svn - SVN “branch” 、 “tag” 和 “trunk” 与 composer 和配置文件的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com