src/commands.js
function pull(options) {
    options = options || {};

    var branchOrTag = options.branch || options.tag;

    var args = [
      'pull',
      options.rebase ? '--rebase' : null,
      options.remote || 'origin',
      branchOrTag || git.getCurrentBranch
    ];

    return git(args)
        .then(silent);
  }
function pull(options) {
    options = options || {};

    var branchOrTag = options.branch || options.tag;

    var args = [
      'pull',
      options.rebase ? '--rebase' : null,
      options.remote || 'origin',
      branchOrTag || git.getCurrentBranch
    ];

    return git(args)
        .then(silent);
  }
function pull ( options ) { options = options || { } ; var branchOrTag = options . branch || options . tag ; var args = [ 'pull' , options . rebase ? '--rebase' : null , options . remote || 'origin' , branchOrTag || git . getCurrentBranch ] ; return git ( args ) . then ( silent ) ; }
Pulls a remote branch into the current one
Executes `git pull origin master`

remote defaults to "origin", and don't follow configured refspecs
for the upstream

If both a branch and a tag are specified, the branch takes precedence

When no branch and tag are specifies, this command will try
to pull the actual local branch name from the remote

@example
var git = require('gitftw');

//While in master...
git.getCurrentBranch().then(console.log)
//Outputs: master

//Pulls origin/master into the current branch (master)
git.pull()

@memberof git
@type {command}

@param {Object} options The options object. All its properties are {@link Resolvable}
@param {Resolvable|String} [options.remote="origin"] The remote
@param {Resolvable|String} [options.branch=currentBranch] The remote branch to pull
@param {Resolvable|String} [options.tag] The remote tag to pull
@param {Resolvable|Boolean} [options.rebase] Make a rebase (--rebase tag)
@param {callback} [cb] The execution callback result
@return {Promise} Resolves with undefined
Pulls a remote branch into the current one Executes git pull origin master