0

我有一个想要进行版本控制的个人项目,但我不确定应该如何使用 git 来管理它。以下是文件夹结构的示例:

project
project/public/plugin1
project/public/plugin2
project/lib/plugin1
project/lib/plugin2

我打算为每个插件或模块创建单独的存储库,但这似乎有点棘手,因为并非插件的所有文件都放在同一个文件夹下。所以我需要将这些目录作为 plugin1 来跟踪:

project/public/plugin1
project/lib/plugin1

同样对于插件2:

project/public/plugin2
project/lib/plugin2

public 文件夹中是css 和js 等文件,因此可以说比较重要的文件是lib 中的文件。我应该在该文件夹中设置存储库并以某种方式尝试添加外部公用文件夹吗?但当然 git 不会让我这样做。我已经从另一个问题中尝试过这个:

git --work-tree=/ add /project/public/plugin1

我仍然收到一个错误,说它在存储库之外。

由于这只是一个个人项目,我不需要访问或做任何远程操作,希望能消除一些复杂性。关于正确设置方法的任何想法?谢谢。

4

1 回答 1

0

看起来像一个较老的问题,但是对于任何看到这个的人来说,你想要做的是使用 git 子模块。

  1. 为您的主项目和任何模块(库、插件、模块等)创建存储库
  2. 您的结构可能会有所不同,但您希望在主存储库中创建子模块,这些子模块引用包含您的插件等的其他存储库。

    # git submodule add git://path-to-your-repo.git modulename
    
  3. 请注意,您将内容拉入主 repo,并且它附加到主 repo 的该修订版,这允许您仅在子模块与主项目兼容时拉取特定版本的子模块。以下将子模块项目拉入主项目。

    # git submodule update modulename
    

这只是一个高级别的概述。尝试阅读http://www.git-scm.com/book/en/Git-Tools-Submodules了解更多详情。

于 2014-02-18T19:37:55.437 回答