Using Git for source control on rpi 2

Hi I am still pretty new to software development so I do apologize if some of my questions seem simple, I’ve tried looking around for this but haven’t found anything close.

So I have a few Raspberry Pi 2’s running OSMC as well as EmulationStation/RetroPie throughout my house. I would like to find a way that I can make changes (install a video addons, upload new roms or sync saved game data) to one unit and be able to push the changes out to all the other units. Ideally I would like to even have this work for updates so I can test it out on one unit for a little while to make sure it doesn’t break anything before pushing it out to the other devices.

I’ve been wrapping my head around the idea of using Git and GitHub (or maybe a local repository) to accomplish this. What I’ve been thinking so far is that I can create a repository on the root directory, using .gitignore to exclude any running directories like proc/ or media/ as well as temp and log files. This way Git will be able to gather any changes made in OSMC as well as RetroPie, push it out to the repository and then pull the changes into the other units.

I have been able to setup Git, GitHub and create a new repository on the root directory and created the .gitignore file but I need help on what all I should ignore. Searching the internet I have come up with the following list to exclude based off OSMC, Kodi/XBMC, RetroPie, and EmulationStation’s github .gitignore files as well as a few of my own directories and files I figured doesn’t need to be synced with every unit.

So I’ve been able to get it to work for most part as far as when I add a new video addon and then pull it into a different unit I am able to see the changes and most of the time the addon works without problem however my background color seems to have changed to black and the transparent foreground is missing so text blends into the background text. Also the unit seems to run a little buggy, like it freezes more often then normal.

Any suggestions on how I can improve this would greatly be appreciated. Also I wouldn’t mind writing a tutorial on how to set this up if others find it helpful and as long as I can get all the bugs worked out.