code: function merge(options) {
      assert.ok(options.branch, 'branch is mandatory');
      assert.ok(options.message, 'message is mandatory');
  
      var args = [
        'merge',
        options.noFF ? '--no-ff' : null,
        options.remote ? (options.remote + '/' + options.branch) : options.branch,
        '-m',
        options.message
      ];
  
      return git(args)
          .then(silent);
    }
docs: Merges branches a branch in the current one
  Executes `git merge --no-ff origin/issues13 -m "Remote branch merge"
  
  @example
  var git = require('gitftw');
  
  //while in master...
  git.merge({
  branch: 'issue/12',
  message: 'Merge branch issue/12 into master'
  });
  
  @memberof git
  @type {command}
  
  @param {Object} options The options object. All its properties are {@link Resolvable}
  @param {Resolvable|String} [options.remote] The remote where the branch is located
  @param {Resolvable|String} options.branch The branch to merge
  @param {Resolvable|String} options.message The merge message
  @param {Resolvable|Boolean} [options.noFF] Make a no fast forward merge,
  creating a new sha (--no-ff flag)
  @param {callback} [cb] The execution callback result
  @returns {Promise} Promise Resolves with undefined