# Git

> Every branch, the diff, the graph, and a chat that works them — read the change on the train and send it up before your stop.

Four branches, three agents, one thumb. The **git** tile is how the work your
agents did actually lands.

## What is on it

- **Branches** — every one on the repository, with what is ahead and behind.
- **The diff** — the change itself, readable on a phone, file by file.
- **The graph** — the shape of the history, at the density you want.
- **Push** — send a branch up.

![the git screen — four branches, the graph, and who wrote each commit](https://beafk.app/docs-shots/git.webp)

## Reading a diff on a phone

This is what you will do most: a diff you can read at 390 pixels, with the file
list one tap away.

## The chat beside it

Pick a branch, some commits, a file — and start a chat about exactly
that. The agent gets what you picked as its subject, so "why is this here" and
"undo this bit and keep the rest" are one sentence rather than a paragraph of
explaining which change you mean.

## There is no merge button

The panel **reads** — branches, diffs, the graph — and **pushes a branch up**.
It has no merge button, no rebase button and no commit box.

What it has instead is the agent sitting beside the diff. Pick the two branches,
say **"merge these"**, and the agent does it, conflicting hunks included.
"Rebase this onto main and keep my version of the lockfile" is one sentence
here.

Same for the commit message: the agent made the change and knows what it did, so
it writes it. Your part is reading the result and deciding whether it goes.

So a change really does land from a train: read the diff, say the word, push.

## The machine holding the repository is yours

The clone the agents worked in is on your machine, the branch is on your
machine, and pushing goes from your machine to wherever your code lives. Nothing
about this passes through beafk cloud.

## Credentials

The machine needs its own way to push: a deploy key or a token for your host,
set up once as the agent account. After that everything works normally.

If a push fails with a permissions error, that is almost always what it is —
see [when something is wrong](https://beafk.app/docs/when-something-is-wrong.md).

## Several branches at once

Agents working in parallel want separate working copies, and git has an answer
for that already. The panel understands repositories set up that way, so four
agents on four branches is four folders rather than four agents fighting over
one checkout.

---

beafk documentation · Projects · https://beafk.app/docs/git

In this section:
- Tasks — https://beafk.app/docs/tasks.md
- Git — https://beafk.app/docs/git.md (this page)
- Commands — https://beafk.app/docs/commands.md
- Two agents, one file — https://beafk.app/docs/holding-files.md

Every page, one line each: https://beafk.app/docs/llms.txt
All of it in one file: https://beafk.app/docs/llms-full.txt
