Repositories
A repository holds your code, history, branches, issues, merge requests, and more. This page covers creating, browsing, cloning, forking, and configuring repositories.
Creating a Repository
- Click New repository or go to
/new. - Choose the Owner — your personal account or any organization where you have write access.
- Enter a name. Names may contain only letters, numbers, dots, hyphens, and underscores. Availability is checked as you type.
- Optionally add a Description.
-
Pick a Visibility:
- Public — anyone can see the repository.
- Private — only you and collaborators can see it.
- Click Create repository.
New repositories are created with a default branch of main and a starter set of
labels. The repository starts empty — the repository page shows the commands to push your first
commit.
Browsing Code
The repository page shows the file tree for the current branch. From the toolbar you can:
- Switch branch or tag using the branch dropdown (labeled with the current ref). Branch and tag counts link to the full Branches and Tags pages.
- Use Go to file to fuzzy-search any file in the current ref.
- Click a file to open the blob view; click a directory to descend into the tree.
- Click New file to create a file directly in the browser (signed in).
URLs follow /:namespace/:repo/tree/:ref/path
for directories and /:namespace/:repo/blob/:ref/path
for files, so you can link to a specific ref and
path.
A ref may contain slashes, as in tree/feature/login/lib: the longest branch or
tag name the path starts with is the ref. An unknown ref shows the default branch.
Cloning
The repository page has a Clone box with a copy button. Clone over SSH:
git clone [email protected]:namespace/repo.git
Or over HTTPS:
git clone https://git.michlp.com/namespace/repo.git
For HTTPS with a private repository, authenticate with a personal access token — see Personal Access Tokens.
Forking
- Open the repository and click Fork.
- If you belong to more than one eligible account, choose where to fork into (your personal account or an organization where you have write access).
- Click Create fork.
The fork keeps a link to its upstream. On the forked repository's page, use Sync to pull in new commits from the original.
Viewing Forks
The fork count next to the Fork
button links to the forks list at /:namespace/:repo/-/forks, showing each fork's namespace, visibility, and fork date.
Collaborators
Repository owners add collaborators under Settings → Collaborators. Enter a username, pick a role, and click Add. Roles can be changed inline, and collaborators removed, at any time.
| Role | Typical access |
|---|---|
guest |
Read code and issues (also in private repositories), open issues and comment, close their own issues. Cannot label, assign, push or change settings. |
reporter |
Everything a guest can, plus label, assign, close and reopen any issue, and label merge requests and set their reviewers. Cannot push or change settings. |
developer |
Push code, create branches and merge requests, merge (subject to protected-branch rules) and edit any issue. In an organization, also create repositories. |
maintainer |
Everything a developer can, plus webhooks, CI/CD variables, protected branches, environments and their variables. |
owner |
Everything, including deleting, renaming, transferring or changing the visibility of the repository. An organization owner also manages its members, teams and settings. |
Contributors Graph
The contributors graph at /:namespace/:repo/-/graphs/contributors
charts commits
over time (excluding merge commits) for the whole repository and per contributor. Use the
Period
dropdown to scope the view to the last month, 3, 6, 12, or 24 months, or
all time.
Repository Settings
Only the repository owner can open Settings
(the gear icon, or /:namespace/:repo/-/settings). Sections include:
- General — rename the repository, edit its description, change visibility between public and private, choose the default branch, and turn CI/CD on or off.
- Collaborators — add, re-role, and remove collaborators (see above).
- Webhooks — manage outgoing webhooks. See Webhooks.
-
Protected branches — prevent force-pushes and control who may push and merge.
Supports wildcards (e.g.
release-*). - Approval rules — require a number of approvals before a merge request can be merged.
- Branch rules — per-branch merge requirements: minimum approvals, CI must pass, and no conflicts.
- Mirroring — push or pull mirror to GitHub, GitLab, another GitBlixt instance, or any git remote. See Repository Mirroring.
- CI/CD Variables — environment variables injected into CI job containers, with masked and protected options.
- Fetch from remote — queue a one-time fetch from an external repository.
- Deployment — enable the built-in PaaS for this repository. See App Deployment.
-
Danger zone:
- Transfer — move ownership to your personal account or another organization you own. The repository's namespace changes accordingly.
- Delete — permanently remove the repository. This cannot be undone.