是否可以跟踪我的仓库中的文件夹,并跟踪与其自己的仓库相同的文件夹?

时间:2016-03-09 04:12:29

标签: git github repository git-submodules git-subtree

我正在使用我的顶级项目仓库,其中包含一个子项目文件,它是项目代码和一些构建代码的组合。我想在我的顶级仓库中跟踪这个子文件夹,但我还需要跟踪这个子文件夹作为其自己的仓库的一部分,因为我们需要使用Git将我们的子文件夹直接部署到我们的网络平台。

以下是顶级仓库的外观:

|--js
|----lib
|----src
|--sass
|--template
|----assets
|----collections
|----scripts
|----styles
|----.gitignore
|----site.region
|----template.conf
|--.eslint
|--.gitignore
|--package.json
|--README.md
|--webpack.config.js

我想在我的顶级回购中跟踪您在上面看到的所有内容。

但是,template需要为我们的网络平台安装Git遥控器,因此该文件夹也必须是git repo。

我如何最好地设置它?我已经读过Submodules了,我不确定在这种情况下这对我有帮助。我的网络平台设置为仅接受template文件夹,仅此而已。

2 个答案:

答案 0 :(得分:1)

根据您的问题中的建议添加子模块文件夹。

git submodule init
git submodule update

现在,当你克隆项目时,你只需要初始化并更新子模块

--remote

Git 1.8.2增加了一个新选项 git submodule update --remote --merge

git pull
  

- 远程

     

此选项仅对更新命令有效。不使用超级项目记录的SHA-1来更新子模块,而是使用子模块的远程跟踪分支的状态。

这相当于在每个子模块中运行{{1}}。

这是子模块的样子 - 存储库内的存储库:

enter image description here

答案 1 :(得分:0)

我认为子模块是正确的答案。通过以下命令:

git submodule add template_remote_repository templete

您将从远程克隆模板工作树。您可以像在其他git工作树中一样在模板文件夹下工作,但使用不同的遥控器除外。