Working on code
Forks, templates and mirrors
Fork a repository and propose your work upstream, start new repositories from a template, and keep mirrors in step with another Git host.
Forks
Fork this repository (on the Code tab) makes your own copy, in your space or an organisation's, to work on without write access to the original. A fork of a private repository stays private. The original's Forks list shows the forks you can see.
On a fork:
- Update from upstream brings a branch up to date with the original.
- Propose upstream turns your fork's new commits into stacked changes on the original, for its people to review. Proposing again after more work updates those changes with new revisions.
Forks share their original's large files, so forking doesn't copy them.
Templates
A repository admin can mark a repository as a template in its Settings. Then, when anyone who can see it makes a new repository, they can start with The files of a template: the new repository gets the template's files, without its history.
Mirrors
A read-only copy of another repository
When importing, tick Keep it in sync as a read-only mirror. Fettlecode then follows the source: new commits, branches, tags and deletions come across every 30 minutes, or straight away with Sync now. A mirror can't be pushed to or edited here; changes are made where it copies from.
Pushing to another server
In a repository's Settings → Mirrors, choose Push to another server and give the clone address (https://) and an access token for it. From then on every change here, whether a push, a web edit or a submit, is copied there by itself, along with the review history.
If a mirror starts failing (say, its token expires), the repository's admins are notified. Change token fixes it, and Stop mirroring removes the mirror without deleting anything at the other end.