Skip to main content
Evidence projects correspond to Git repositories. This means you can use Git for version control. This allows you to make changes to your code outside of the Studio interface, such as on your local machine using the CLI. A project can either use:
  • Evidence managed repo (default): You can only edit files from the Studio interface.
  • Your own repo: You connect your project to an external Git repo. You can edit files from the Studio interface or your own environment. Changes are synced between the two using Git.

GitHub Integration

Currently the only supported git provider is GitHub.
  1. Connect Evidence Studio to your GitHub account from the Organization Settings page.
    • Choose to either allow access to all repositories, or only specific repositories. You can update this later using the “Manage” button.
  2. After creating a project, link it to a GitHub repo:
    • Navigate to the project, and click the Cog icon next to the project name in the sidebar to open project settings.
    • Under the “Version Control” section, check “Connect to GitHub repository”.
  3. Choose:
    • The repo you want to link to your project. It must be an existing one.
    • The branch you want to be the published branch. The code on this branch defines what your users will see.
    • The project root. By default this is pages, which means your files will be stored in a pages directory. Leave it blank to store files at the root.
  4. Click Save. Your project files are not synced yet!
  5. Navigate back to the editor and click “Publish”. This pushes your current code to GitHub.

Branching Strategies

Evidence supports any git branching strategy, but two common ones are:
  1. Main only: There is only one branch, and changes are made to this branch. When you click “Publish”, your changes are pushed directly to the main branch and are live for your viewers.
    • Most suitable for: solo developers, proof of concepts, early stage reports
  2. Feature branches: There is a main branch that is live for viewers, and separate branches for development. To save changes on a branch, you use the “commit” button in the left sidebar. When your feature is ready you can either:
    • Hit “Publish” to merge your changes into the published branch. This creates a squash commit, and will overwrite any changes on the published branch.
    • Open a PR from GitHub and merge it there. This allows you to review changes, and merge when there are no conflicts.
    • Most suitable for: teams, mature reports with multiple contributors

Shared Working State

When you make code changes in the Studio editor, all changes are saved in a shared working state until you commit them. This means other developers will see your changes if they open the same file. This is in contrast to a typical git development experience where your changes are local to your machine until you commit them.

Version Controlled Assets

The majority of your project content is version controlled:
  • Pages
  • Partials
  • SQL files
Some content is not yet version controlled and must be edited from the Studio UI:
  • Organization display settings:
    • Logo
    • Themes
    • Decimal separators
    • Custom AI prompt
  • Project display settings:
    • Icon
    • Translations
    • Themes
    • Page layouts
  • Page display settings:
    • Icon
    • Translations
    • Themes
    • Page layouts
    • Sidebar position
    • Auto refresh