48 lines
1021 B
Markdown
48 lines
1021 B
Markdown
|
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:
|
||
|
|
||
|
```php
|
||
|
$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`:
|
||
|
|
||
|
```php
|
||
|
// 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()`:
|
||
|
|
||
|
```php
|
||
|
$diff = $wc->getDiffStaged();
|
||
|
```
|
||
|
|
||
|
Pending modifications
|
||
|
---------------------
|
||
|
|
||
|
You can get pending modifications on tracked files by calling method
|
||
|
`getDiffPending()`:
|
||
|
|
||
|
```php
|
||
|
$diff = $wc->getDiffPending();
|
||
|
```
|