Problem 1: Angular's data binding not updating with socket.io
Solution: Use $scope.$apply (stackoverflow)

Problem 2: Authenticating with GitHub
Solution: Follow jaredhanson's example

Problem 3: Understanding Git rebase
Solution: This article provides in-depth guide to rebasing in Git