docs: def push(self):
          """
           Adding the no_thin argument to the GIT push because we had some issues pushing previously.
           According to http://stackoverflow.com/questions/16586642/git-unpack-error-on-push-to-gerrit#comment42953435_23610917,
           "a new optimization which causes git to send as little data as possible over the network caused this bug to manifest, 
            so my guess is --no-thin just turns these optimizations off. From git push --help: "A thin transfer significantly 
                    reduces the amount of sent data when the sender and receiver share many of the same objects in common." (--thin is the default)."
          """
  
          if not self.canRunRemoteCmd(): 
              return None
  
          try:
              fetchInfo = self.repo.remotes.origin.push(no_thin=True)[0]
          except exc.GitCommandError as e:
              print(dir(e))
              print(e)
              raise
  
  
          if fetchInfo.flags & fetchInfo.ERROR:
              try:
                  raise IOError("An error occured while trying to push the GIT repository from the server. Error flag: '" + 
                            str(fetchInfo.flags) + "', message: '" + str(fetchInfo.note) + "'.")
              except:
                  IOError("An error occured while trying to push the GIT repository from the server.")
          return fetchInfo