~~NOTOC~~
====== Get a contributor account ======
There are two ways of getting or creating an account on gitlab.xfce.org:
- Sign in via an allowed external service, e.g. GitHub
- Apply for an (internal) account
===== Sign in via an allowed external service =====
If you sign in with e.g. GitHub your account will be immediately created and you can browse all repositories that are public or internal, create issues etc. **However, you cannot create or fork projects yet!**
In order to get full access you have to contact an Admin - see "Apply for an account".
===== Apply for an account =====
The easy way to get a contributor account is to contact developers on the [[https://mail.xfce.org/mailman/listinfo/xfce4-dev|xfce4-dev mailing list]] or to ask in the [[https://matrix.to/#/#xfce-dev:matrix.org|Matrix channel #xfce-dev]].
----
===== SSH =====
To be able to push to gitlab.xfce.org you need to either use the HTTPS link and enter your credentials for every push or you create an SSH key and [[https://docs.gitlab.com/ee/ssh/#adding-an-ssh-key-to-your-gitlab-account|add it to your user profile]].
==== Generating a SSH key ====
If you already have an ssh key, you can just use the existing key instead of creating a new one
SSH keys are stored in your home directory in the ''~/.ssh'' directory. To generate a key pair use the following command:
ssh-keygen -b 4096 -t rsa
When the command asks for the //passphrase// it is advised to set a relatively simple password. This password is used to unlock the key when you use it. For more information on how to create a pair of SSH keys, please refer to a [[http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen|SSH documentation]] or book.
Using a key without a passphrase is basically the same as writing down that random password. Anyone who gains access to your computer has gained access to every system you use that key with. The solution is to add a passphrase to the SSH key, for an extra layer of security.
See also: [[xfce:xfce4-session:advanced#ssh_and_gpg_agents|How to work with ssh-agent]].
Now that you are finished generating your key pair, you will have two files: a private key and a public key. If you have accepted the default filename, they will be respectively ''$HOME/.ssh/id_rsa'' and ''$HOME/.ssh/id_rsa.pub'', depending on the type of key you have specified.
The private key **must** remain secret, do not publish it to anyone under any circumstance.
The public key is what you shall upload to gitlab.xfce.org.
==== Setting up the SSH key so Git uses it ====
In ''~/.ssh/config'', add:
host gitlab.xfce.org
HostName gitlab.xfce.org
IdentityFile ~/.ssh/id_rsa
[[|Back to Top]]
----
[[:contribute:dev:start:|Back to main Xfce Development Information page]]