Your first repository
In this tutorial you create a repository inside an Orbit project, authenticate Git with a project access token (or an SSH key), push a first commit and look around the result in the browser.
Forge is the code and CI/CD part of Orbit. Repositories belong to Orbit projects and inherit the project’s members, so there is no separate account to create.
Before you start
Section titled “Before you start”- You are signed in at
https://acme.orbit.inortix.com(use your own company address). - You are a member of an Orbit project. Project administrators can change repository settings; members can push; viewers can read.
- Git is installed on your computer.
Create the repository
Section titled “Create the repository”-
Open the project and choose Code / CI in the project navigation.
-
Create a repository. You can start empty, or import one: Forge imports every branch and tag from an
https://URL, or from an uploaded Git bundle. The import runs in the background; its state and any error are shown under Git access. -
Open the repository settings if you want to change the name, the description or the default branch. The slug and the clone URL stay stable when you rename a repository.
Choose how Git signs in
Section titled “Choose how Git signs in”You can use either method, or both.
Option A: a project access token (HTTPS)
Section titled “Option A: a project access token (HTTPS)”-
Under Git access, create a project access token.
-
Pick the scopes you need:
Scope Allows read_repositoryClone and fetch over HTTPS write_repositoryPush over HTTPS read_apiRead Forge REST requests for this project (read-only, acts as a viewer) apiForge REST requests for this project under your current role A Git request needs a repository scope. Choose at least
read_repository, andwrite_repositoryif you will push. -
Choose a lifetime between 1 and 365 days.
-
Copy the token. It is shown once. Forge stores only a hash.
Use the token as the password when Git asks for credentials over HTTPS. A token only works for its own project and always under your current role: if you are removed from the project, or your account is disabled, the token stops working at once. Tokens can be rotated (the old secret stops working immediately and the new one is shown once) and revoked, and the list shows when each was last used. Project administrators can review every member’s tokens, never their secrets, and revoke them.
Option B: an SSH key
Section titled “Option B: an SSH key”-
Under Git access, add your OpenSSH public key.
-
Forge accepts Ed25519, ECDSA, their security-key variants, and RSA keys of at least 2048 bits. DSA, short RSA keys, keys with options and certificates are refused.
-
Each key must be unique across Orbit, you can add at most 50 keys, and you can set an optional expiry. Removing a key, or disabling its owner, ends access immediately.
Git over SSH goes through the same push path as HTTPS, so branch protection, push rules and CI triggers behave identically. Fetches need read access; pushes need write access.
Clone, commit and push
Section titled “Clone, commit and push”Use the clone URL shown in the repository.
git clone <clone-url-from-the-repository>cd my-repositoryecho "# My repository" > README.mdgit add README.mdgit commit -m "First commit"git push origin mainIf the default branch is protected, a direct push can be refused with the rule’s reason. Open a merge request from a feature branch instead (see Merge requests and approvals).
Explore in the browser
Section titled “Explore in the browser”After the push, the repository view offers:
- the file tree with the last commit for each entry, and file views;
- history, paged and filterable by path, and a commit page with message, author, parents and the per-file diff;
- blame, which groups consecutive lines by the commit that last changed them (files up to 1 MiB and 20,000 lines);
- compare between any two branches, tags or commits, with ahead/behind counts;
- raw files (up to 10 MiB) and zip or tar.gz archives of any ref (up to 32 MiB);
- branches (each shows how far it is ahead of and behind the default branch) and tags (lightweight or annotated), which you can create and delete in the web UI;
- a web editor: editing a file creates a real Git commit, and two people editing the same file get a conflict instead of a silent overwrite.
Repository content is always served so that it can never run in the Orbit origin.
Also available
Section titled “Also available”- Git LFS over HTTPS, with an access token as the password.
- Forks into any project where you can write, with ahead/behind against the upstream. A merge request from a fork can target its upstream, but fork code never runs in the upstream’s CI.
- Export of every branch and tag as a bundle, submodule entries in the tree, and repository statistics and housekeeping (housekeeping is run by project administrators).
- Delayed deletion: a deleted repository can be restored within 7 days.
- Work item links: keys such as a work item key in a branch name, a commit message or a merge request link the repository to the project’s work items.
Not included yet
Section titled “Not included yet”Rendered README previews, syntax highlighting, code search across files and signed tags are planned, not built. Personal and group namespaces do not exist: the Orbit project is the namespace. Objects over 32 MiB, LFS over SSH and LFS file locks are not supported.