0

我有一个用于 HTML 开发的小 php 框架。我基本上通过编写返回一些 HTML 标记的函数来使 HTML 具有半功能性。例如:

P('Some, text' . a('Link', '#'), 'my_class);

返回如下内容:

<p class="my_class">Some, text<a href="#">Link</a></p>

除了写起来更短之外,它也快了很多,不仅因为它更短,而且因为与输入等效标记相比,输入函数调用所需的奇怪字符组合更少。

这个框架仍在开发中,但我在不同的项目中使用它。我目前的布局是这样的:

~/publkic_html/
   ->core/
   ->project_1/
     ->core/
   ->project_2/
     ->core/
   ->project_3/
     ->core/

如您所见,该框架称为核心,我在顶层目录中有一个副本,然后,每个项目都有自己的副本。我目前所做的不是任何形式的版本控制,当我对项目的核心进行更改时,我将项目上的核心复制回顶级目录核心。

例如,假设我正在处理 project_1,并且我意识到我需要将一些东西添加到核心中,所以我添加了它。然后我将 project_1 上的核心复制到顶部核心:

cp -rvu ~/public_html/project_1/core/ ~/public_html/

我进行递归更新。我喜欢详细,因为我可以看到正在复制的内容。

当我需要处理另一个项目时,比如说 project_2,我会做相反的事情,使用 ~/public_html/core 中的内容更新 project_2/core/

如您所见,这是一个问题。它不仅烦人,而且还很容易出现问题。例如,我可能在更改项目本地的核心后忘记进行更新。这会带来很多问题,比如在两个不同项目上更改同一个文件而不进行更新可能会导致更改被覆盖和丢失。

我怎样才能以更有效和安全的方式管理它?更不用说理智了!

我在看 git,但似乎我最终会得到许多不同的版本控制版本的核心。

4

1 回答 1

1

您可以(真的 -必须)使用任何允许代码重用和共享(而不是克隆)的 SCM(而且我不知道任何没有功能的 VCS)

  1. 颠覆
    • 外在
  2. 水银
    • 子仓库(guestrepo)
  3. 吉特
    • 子模块(git-subtree)

PS:Git 作为第一个 VCS 是最糟糕的选择

于 2012-11-29T09:42:16.823 回答