code: function(site, env, message) {
  
      app.status('Pushing code.');
  
      // Check to see what our connection mode is
      return terminus.getConnectionMode(site, env)
  
      // Set the connection mode to git if needed
      // and then try again
      .tap(function(connectionMode) {
  
        // If we are in SFTP mode check for changes
        if (connectionMode !== 'git') {
  
          return terminus.hasChanges(site, env)
          .then(function(hasChanges) {
            // If we have uncommmited changes throw error
            if (hasChanges) {
              var msg = [
                'Kalabox has detected you have uncommitted changes on Pantheon.',
                'Please login to your Pantheon dashboard commit those changes',
                'and then try kbox push again.'
              ];
              throw new Error(msg.join(' '));
            }
            else {
              return terminus.setConnectionMode(site, env, 'git');
            }
          });
        }
      })
  
      // Wake the site
      .tap(function() {
        return terminus.wakeSite(site, env);
      })
  
      // Push up our code
      .tap(function() {
  
        // Add in all our changes
        return commands.git(['add', '--all'])
  
        // Commit our changes
        .then(function() {
          return commands.git([
            'commit',
            '--allow-empty',
            '-m',
            '"' + message + '"'
          ]);
        })
  
        // Push our changes
        .then(function() {
          var branch = (env === 'dev') ? 'master' : env;
          return commands.git(['push', 'origin', branch]);
        });
  
      })
  
      // Set our connection mode back to what we started with
      .then(function(connectionMode) {
        return terminus.setConnectionMode(site, env, connectionMode);
      });
  
    }
docs: /*
  Push up our sites code