Instructions to use Git
From June 2017, the FSFE offers comfortable Git hosting to its supporters and registered volunteers. This page and its subpages will give you an overview of the service and some beginner guides for basic operations. Because the underlying Free Software project (Gitea) is in heavy development, some steps may change. Please help keeping these pages up-to-date, therefore.
If you are looking for the Git workflow, see TechDocs/Git/Workflow.
Git is similar to SVN which you may already know from the FSFE's website. It's an advanced version control system which keeps track of changed files and helps you to test major changes with different branches of the code without interfering with the main branch of the data ("master").
Moreover, on git.fsfe.org you are able to use even more features that are very helpful for collaboration with other contributors. If you have ever used GitLab or GitHub before you will quickly learn Gitea. But even if you're completely new to Git you'll understand it soon.
Here are some of the features you might find helpful
- Files can be saved and changed while a full change record is saved. So changes can be rolled back easily.
- No matter if program code, text documents, or picture files, everything can be stored on this platform.
People can open issues to give feedback, report bugs, or request changes. This helps you keeping track of open tasks.
People can not only request changes but directly contribute to any project. Either you can give them direct write access, or they fork a copy of your repository, make a change, and then open a pull request (to merge their changes into your repository) you can admit or reject.
Advanced users can enable Continuous Integration (CI) to regularly check the latest changes for their compatibility. We already experimented with Drone.
Every User on git.fsfe.org has its own space. For example, all respositories of the FSFE user max.mehl are available under git.fsfe.org/max.mehl. A repository (like max.mehl's example-repository) is something like a project. It can contain various files and folders. With each repository, there is a Issues and a Wiki section which you, contributors, and other people can use.
For larger projects with much collaboration, there're also Organizations, like the one for FSFE. Like users, these can contain several repositories but they're not bound to a single user. Instead, the organizations administrators can define various user roles and teams with specific access permissions. For example, a new campaign could form an organization and contain multiple repositories, e.g. the website, promotion materials, or documents you'd like to open up for collaboration. Note: You cannot create an organization on your own. Please write to firstname.lastname@example.org if you need one.
The third structural form is a Mirror. Basically, this is a copy of another repository, either in git.fsfe.org or on an external platform like GitHub. Mirrors are kept up-to-date regularly. For example, max.mehl mirrored the share-buttons repository from the FSFE organization. As a beginner, you won't use mirrors probably. Please don't mirror very large repositories without asking us in advance.
Guides on specific actions
There are hundreds of guides out there so we won't get into deep details here (e.g. GitHub has some popular howtos. But you'll find instructions for basic operations for a non-techy audience. Help expanding existing guides or add new ones!
First steps git.fsfe.org (login, user settings, SSH keys)