# eggox push

Make the game match the files, whole or not at all. The game becomes the draft.

```
eggox push [dir] [--force] [--json]
```

Does what `eggox check` describes, in one transaction: rooms configured,
things placed and picked up, scripts and bricks compiled and set. Either
the whole folder lands or nothing changes. The report lists the files
that differ, then the rooms where things moved.

After a push the game is the **draft**: walk into it in Eggox and play
it, or TEST from the Studio. Players behind the door still see the
published version until you [publish](/cli/publish).

## Options

| option | does |
| --- | --- |
| `--force` | push even if the game changed since the pull |

## Conflicts

The folder carries the revision it was pulled at. If the game changed
since (a save in the Studio, a push from another machine), the push is
refused and says so. Pull again to get the change, or `--force` to
overwrite it.

## Examples

```
$ eggox push
~ rooms/Skybound/room.json
Skybound: 1 placed, 1 picked up
9 other rooms as they were.
Pushed. The game is the draft now; open it in Eggox to play it, or eggox publish.
```

```
$ eggox push
Nothing changed: 10 rooms, 43 things as they were.
Pushed. The game is the draft now; open it in Eggox to play it, or eggox publish.
```

