I would like to know which is a better choice of GIT management for my project?
I have a main project that requires development on Software, Firmware, and Mobile application, the project structure is shown below:
+ MainApplication
+ Software (Visual Studio project)
+ Mobile (Android project)
+ Firmware (ARM project)
+ Document
So, do I seperate each project (software, mobile, firmware) into a single GIT repo? or I just include all projects into a single big GIT?
I have the pros and cons listed below:
Single GIT
- GOOD: I can track all the projects at once, and it is not fragmented and easier for me to manage
- GOOD: it would be easier for people at start using this GIT, because everything is shown in a single GIT
- GOOD: I can place the document into this main GIT
- BAD: i cant tag or release each project, unless i prefix them and also it is difficult to track the commit for such a big projects
Multiple GIT
- BAD: too many GIT repo, too fragmented, you need to provide 3 git link for each project instead of one, troublesome
- BAD: i want to track my document folder too, it will be "funny" to create a single GIT jsut for this document folder
- GOOD: can easily track each project problems and commits
UPDATE 1
There are really a lot of good feedback below, and I love some of the approach mention,
seperate GIT and group them together
- GOOD: i like this idea, because i could independently track each of them as mention above
- GOOD: and i could group all of the git, and i could browse them easily, rather than a huge git repo that you need to browse through
- BAD: sounds strange, you probably needs to create another git just to track the document folder
- SOLUTION:
- In Github, you could use organization (sort of a hack to group all the gits, because now that git no longer belongs to your personal gits
- In GitLab, you could use label, to group them, so you can easily sort them in the future
using Git submodule
- BAD: hard to use
- GOOD: ?