code: function fetch(options) {
      options = options || {};
  
      var args = [
        'fetch',
        options.remote || 'origin',
        options.tags ? '--tags' : null,
        options.prune ? '--prune' : null
      ];
  
      return git(args)
          .then(silent);
    }
docs: Fetches a remote
  Executes `git fetch origin --tags`
  
  remote defaults to "origin", and don't follow configured refspecs
  for the upstream
  
  @example
  var git = require('gitftw');
  
  git.fetch(); //fetches origin
  
  @memberof git
  @type {command}
  
  @param {Object} options The options object. All its properties are {@link Resolvable}
  @param {Resolvable|String} [options.remote="origin"] The remote to fetch
  @param {Resolvable|Boolean} [options.tags] Fetch the tags (--tags flag)
  @param {Resolvable|Boolean} [options.prune] remove any remote-tracking references that no
  longer exist on the remote (--prune)
  @param {callback} [cb] The execution callback result
  @returns {Promise} Promise Resolves with undefined