所以,我有以下文件夹结构:
.
└── testSubModules
├── README.md
└── controllers
├── controller-1
│ └── test.c
├── controller-10
├── controller-2
├── controller-3
├── controller-4
├── controller-5
├── controller-6
├── controller-7
├── controller-8
└── controller-9
testSubMoudles
是我的 git 目录的根目录。 controllers
目录下的每个文件夹代表 eclipse
我希望能够在根 (testSubModules
) 以及项目下的每个单独项目中管理项目。
我认为submodules是我要找的。
要求/目标/期望的工作流程
- 新开发人员应该能够从根本上获得项目
git clone url/subModules
或按个别项目
git clone url/subModules/controller-1
阅读该教程后,我认为这是不可能的。
- 开发人员如何才能仅在子模块上提交和推送更改?
假设我在 controller-1 下做了一些工作。将我的更改添加到该子模块的工作流程是什么
假设,Eric,另一个开发人员现在想要我对子模块的更改,他如何更新他的工作区?
假设,James,另一个开发人员想要一切,然后他可以在项目的根目录上执行
git pull
。
也许我所说的一切都不是子模块的预期用途。那我该怎么办呢?
最佳答案
使用 Rakefile 概念:在项目中你可以组合多个项目:
desc 'submodule'
task :submodule do
sh 'git submodule init'
sh 'git submodule update'
sh 'git submodule add <origen>'..
..
end
desc 'submodulePull'
task :submodulePull do
sh 'git submodule update'
sh 'git submodule foreach git pull'
end
终端:
rake submodule
to add other project in your project .cd
project
to use project independently. can run git etc..
rake submodulePull
to pull all project change .
关于Git 和子模块的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30656743/