We are using GitHub, Team City and Octopus Deploy for all our projects without adding any assemblies to the VCS. The way we have solved it is to share modulesbin using a symbolic link, write something like this mklink /D yoursiteroot\modulesbin a/shared/network/path, this might seem a bit dodgy but it works pretty well. This could be a part of some automatic setup task using eg. powershell to make it easier for new team members. Also make sure to add modulesbin to the .gitignore.
Regarding appData, we are also using a shared appData folder, just point the basePath to a network path and your done.
@Marcus - I've just tried copying my appdata to a network drive, and updating the basePath, but I am getting error
Pretty sure path is correct: it's in the format <appData basePath="\\myserver\sites\mysite\appdata" />
It seems like the user that runs the application doesn't have access to the network path.
You have to run appPool with some "concrete" user and not AppPoolIdentity. This will make sure that code that will run in app pool will have access to shared share when modulesbin and appData folders are located.
As of version 7.6 we've converted the UI parts to nuget packages available from http://nuget.episerver.com/. So if you don't mind upgrading, you should be able to use nuget package restore to install the references at build time. Have a look at http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Just add the EPiServer nuget feed to the package manager and then install EPiServer.CMS.UI and EPiServer Add-On Store UI. This will remove the corresponding add-on files from the app data and modulesbin folders and add the assemblies to the bin folder and the UI parts, Views and client resources, to the modules/_protected folder instead.
If you're not fond of external dependencies to nuget feeds at build time, you can download the packages to a network share and just reference that instead.
Is it possible to use github as version control when using CMS 7.5?
I do not want to add modulesbin and appdata to the git repository. But how can we use it on local machine?
And how do we deploy from a CI, i.e. TeamCity so that TC knows how to fetch those things?
I.e. how can we get EPiServer 7.5 CMS up and running on a "new" machine without having to check in appdata and modulesbin?