> ## Documentation Index
> Fetch the complete documentation index at: https://docs.soloent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Git Version Control

> Initialize your project as a local Git repo, commit snapshots at key milestones, and roll back to a version you are happy with

SoloEnt lets you version-control your whole project (workspace) with Git. You can initialize the open project as a **local repository** (no internet or remote hosting required), commit staged progress as snapshots while writing, and later roll the entire project back to a satisfactory point if you are not happy with the AI's subsequent changes.

## Initialize the repository

In the left sidebar, select the third tab (**Source Control**) and click **Initialize Repository** to turn the current project into a local Git repo.

<img src="https://mintcdn.com/soloent/4RpSHkUFmW5kEqcF/assets/images/git_1.png?fit=max&auto=format&n=4RpSHkUFmW5kEqcF&q=85&s=8b18c37153ab80763e1c19d6e411af6d" alt="The Source Control tab in the left sidebar, showing project files like chapter-01.md and the auto-commit entry available after initializing the repository" style={{ width: '70%' }} width="590" height="646" data-path="assets/images/git_1.png" />

## Commit changes

After initializing, each time you finish a task you can commit the changes to the repository from the Source Control panel.

<Steps>
  <Step title="Review changes">
    The left side of the panel lists the files changed this time (new files are marked **U**).
  </Step>

  <Step title="Generate a commit message">
    Click the second icon in the top-right of the panel to auto-generate a commit message with SoloEnt's **commit summary** feature.
  </Step>

  <Step title="Commit">
    After confirming the message, click **Commit** to save this change as a version checkpoint.
  </Step>
</Steps>

<img src="https://mintcdn.com/soloent/4RpSHkUFmW5kEqcF/assets/images/git_2.png?fit=max&auto=format&n=4RpSHkUFmW5kEqcF&q=85&s=2bb4001d54e2fca84c8496bd3cc0c06e" alt="The Source Control commit view: the list of changed files on the left, and the auto icon next to the commit button in the top-right used to generate a commit message" style={{ width: '55%' }} width="740" height="1012" data-path="assets/images/git_2.png" />

## When to commit

If you are worried that a version's content might later be lost or messed up, commit after each **milestone task**, for example:

* Finishing the outline for the whole book
* Finishing the first 10 chapters
* Making a major worldbuilding or setting change

That way, if you later feel the AI's edits aren't good, you can roll the whole project back to a previously committed checkpoint and start over.

<Tip>
  The more frequently and cleanly you commit, the easier it is to find that clean "before it got messed up" version when rolling back.
</Tip>

<CardGroup cols={2}>
  <Card title="Context & SOLOENT.md" icon="file-lines" href="/en/tips/SoloEnt">
    Use `SOLOENT.md` to record the full picture of your project so every new session can quickly restore context
  </Card>

  <Card title="FAQ" icon="circle-question" href="/en/faq">
    Check here for issues like the "install Git" prompt and checkpoints
  </Card>
</CardGroup>
