2.1Recording changes

Pick the files, write a message worth reading, link the tasks it closes, and push.

Section 1 of 7 in this chapter

The right-hand panel lists every file that differs from what is committed. It updates as you work — the app watches the folder — so by the time you finish a modelling session the list is already correct and you have nothing to scan for.

Each row carries a path, a status, and, if someone holds the file, a padlock with their name.

Choosing what goes in

Every changed file is ticked by default, on the theory that most of the time you want to push what you did. Untick anything you are not ready to share. On a long list, Ctrl+F opens a filter.

There is no staging area to learn. A commit is the files that are ticked when you press the button, and that is the whole model.

Writing the message

The commit box is a formatting editor rather than a plain text field. Bold, italic, strikethrough, inline code, bullet lists, and colour are on the toolbar above it, with Ctrl+B and Ctrl+I where your fingers expect them. Shift+Enter starts a new line; Enter commits.

This exists because commit messages on a game project are read by people who are not programmers. "Fixed lighting" is not a useful message to an artist wondering whether to pull; a short list of what actually moved is. The formatting survives all the way through to Discord and Slack, so the message you write is the message your team reads in the channel.

Linking the tasks it finishes

The task button on the toolbar attaches cards from the board, with a done tick for the ones this commit actually finishes. You can also just write closes #12 in the message. Either way the card moves and the work becomes eligible for the next release's changelog — see section 3.2.

What pushing actually does

Press Push (n) and each file is hashed with SHA-256 before it leaves your machine. If the server already holds those exact bytes — because a teammate pushed the same asset, or because you are re-committing a file whose contents did not really change — nothing is uploaded for it. On a project full of duplicated source art this is the difference between a two-minute push and a twenty-minute one.

Uploads run in parallel, sized to what your connection can carry, and the commit is only recorded once every byte has arrived. A push that is interrupted halfway does not produce half a commit.

The same hash is checked on the way back down, so what you push is byte-for-byte what your team receives. Not "probably", not "a file of the same size" — the same bytes.

Deleting files

Right-click a file and choose Mark for deletion. It is removed in your next commit, disappears for everyone on their next pull, and stays restorable from history indefinitely. Deletion here is a soft delete; nothing you commit is ever truly destroyed.

Was this helpful?

Back to top