SparkFun Forums 

Where electronics enthusiasts find answers.

General project discussion / help
Did you make a robotic coffee pot which implements HTCPCP and decafs unauthorized users? Show it off here!
By fll-freak
#166754
I have been a long time user of heavy weight source code version control systems like ClearCase (at work) as well as more main stream products like CVS at home. Just recently started the switch to GIT (at home) and it is taking some getting used to. Looking for some guidance on how I might use it more effectively from any power users here. Not looking for someone to teach me the basics or hold my hand (I have a book and can Google just fine), but just some general pointers.

Here is my situation. I have numerous software projects going on at any one time and perhaps 75 to 100 in archives. At some point I would like to covert my CSV repositories to GIT although I understand that it might not work too well. Some projects are for PC based code, some for Arduino, some for ARM, and some for Linux. All the code is stored on a common Linux based file server. Currently I have a folder called PROJECTS and sub folders for Linux, ARM, Arduino, and PC architectures. Under these are folders for each project. These may include sub folders.

I have started to manage new projects by creating a .git folder in each project directory. This works well, but I now have a gazillion .git directories. Would I be better served having a single GIT repository at the PROJECTS level, or four at the architecture level? Would a different directory structure be better? Help?!
By SFE-Toni
#166805
This is something we've been attempting to solve here internally because of our transition over to GIT and GitHub for hosting all of our production and board files. I believe, if I understand your file hierarchy correctly, that having simply one GIT repo at the Projects level will work for you. Any files inside that Projects folder will then be tracked as you change and update items. This will enable you to keep the total number of Git repos down, but still allow you to track all of the files changes for the different code types. Check out one of our examples [here](https://github.com/sparkfun/OpenLog).

Hope that helps!