Short question: What are your recommendations for setting up EPiServer (7.5+) in a Git repository? Should we put everything under source control, or left the AppData folder etc etc? Best practices?
Git should contain:
1) Source code for the project
2) /modulesbin/ content (if having any AddOn installed)
3) /modules/_protected/ content if running with parts from >= 7.6 version
4) AppData folder as well. We are not re-deploying it everytime - but makes easy for new developers in the project to setup new local environemt easily and faster. As from 7.6 EPiServer is moving closer to developer by converting Core packages from AddOn to NuGet it's much easier to maintain deployment aftifacts. However there still are AddOns and stuff that is located in AppData folder. You just have to establish routine that will make sure AppData on the server and in Git repo is in sync (usually manual process).
5) Any build artifacts if needed (like robots.txt, msbuild scripts, license files, etc) has to be under source control as well.
6) There are various opinions about NuGet package restore feature. I prefer to have everything inside my repo without any other external dependencies. Which means that I'm holding all packages/ in repo as well. More inspiration here.
All together makes more closer to `One click deployment`.