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
Multiple GIT
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
using Git submodule
The pro argument about "fragmented" repositories (and it's con counterpart) doesn't hold it's ground.
I can track all the projects at once, and it is not fragmented and easier for me to manage
You already noted yourself: using one repository won't allow you to take properly advantage of tags and it will be hassle to tell the histories apart.
In my opinion it achieves quite the opposite. It will be harder to manage and to track.
As I see it, different repositories are the superior choice.
You have three different subprojects with more or less different history. If you somehow want to group them submodules might be the way to go, using a "main" repository for the overall project.
This "main" repository can also be used to track your Documents folder.
The rule I usually follow is:
This is because in git you cannot branch or tag some part of a repository (like e.g. in Subversion) - branches and tags are always for the whole repo.
So the question is: Do you always release all parts together? Or are they developed and released separately (maybe even with different version numbers)?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With