Working copy

Working copy is the folder associated to a git repository. In gitlib, you can access this object using the getWorkingCopy on a Repository object:

$repo = new Repository('/path/to/working-dir');
$wc = $repo->getWorkingCopy();

Checkout a revision

You can checkout any revision using checkout method. You can also pass a second argument, which will be passed as argument with -b:

// git checkout master
$wc->checkout('master');

// git checkout origin/master -b master
$wc->checkout('origin/master', 'master');

You can also pass a Reference or a Commit.

Staged modifications

You can get a diff of modifications pending in staging area. To get the Diff object, call method getDiffStaged():

$diff = $wc->getDiffStaged();

Pending modifications

You can get pending modifications on tracked files by calling method getDiffPending():

$diff = $wc->getDiffPending();