GitHub sync

Back up a project to a GitHub repository, or keep the two in sync both ways.

Every TeXposit project is a git repository, with an attributed commit for each save. GitHub sync connects that history to a repository on GitHub, either as a backup or as a two-way sync.

Connect your account

Go to your profile, open the Account tab and click Connect GitHub. This is a standard GitHub authorization, so no organization admin approval is needed for your own repositories. The GitHub button on the projects page and the GitHub tab in project settings start the same flow.

An account has one GitHub connection. All pushes and pulls for a project use the token of the person who linked it.

To disconnect, click Disconnect in the same place. Linked projects stop syncing and show a reconnect prompt until you connect again. Nothing is removed from GitHub.

If your TeXposit installation has no GitHub integration configured, none of the GitHub buttons appear.

Start from a repository

On the projects page click GitHub and pick a repository. TeXposit clones it with its commit history, finds the main .tex file and opens the editor. The project is linked in both directions.

Only the project owner can link a project.

  1. Open File, then Project Settings, and go to the GitHub tab.
  2. Choose a repository, or choose Create a new repository instead and pick Private or Public.
  3. Choose a direction:
    • Back up to GitHub: TeXposit stays the only place you edit.
    • Keep in sync both ways: edits pushed to the repository come back into TeXposit.
  4. Click Link.

Linking to a public repository shows a warning that everything you publish is visible to anyone. A project links to one repository at a time. Local projects cannot be linked, because they have no git history.

The tab then shows the repository, branch, last synced time and status, with Sync now and Unlink buttons.

Push

A background job pushes each linked project about every 30 seconds after its history changes. Sync now pushes immediately.

TeXposit never force-pushes. If GitHub has commits the project does not, the push is rejected and the GitHub tab shows an error. Resolve it on GitHub. A failed push does not interrupt editing.

Pull

Pulling happens only on Keep in sync both ways links. It runs when someone pushes to the repository (through a webhook TeXposit registers), when you open the project, and when you click Sync now.

A pull is always a fast-forward. If both sides changed since the last sync, TeXposit stops and reports the conflict instead of merging. TeXposit has no merge tool: resolve the divergence on GitHub or with a local git client, then click Sync now.

Choose what gets published

On a Back up to GitHub link, Choose what gets published takes one pattern per line. A pattern excludes matching files, and a ! prefix includes them again, as in .gitignore. A counter shows how many files will be published. Click the separate save button to store the patterns.

New backup links exclude .texposit/** and .materials/** by default. These hold your AI chat history and materials. Edit or clear the list to publish them.

This filtering is not available on two-way links. Your project's own history is never altered, only what is pushed.

Unlink in the GitHub tab removes the link and, on two-way links, the webhook TeXposit registered. The repository on GitHub is not touched.