# A Guide for Hackers who wants to become a committer

This repository includes the path to become a committer with any kind of git oriented workflow to push commits to any kind of forge.

# Setting SSH Keys

Please read : 

* https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
* https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

# Configuring GPG Key

* https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key

* After generating GPG Key please run :

```
gpg --list-secret-keys --keyid-format=long
```

* Then run this command but replace ```3AA5C34371567BD2``` with your GPG Key ID:
```
gpg --output secret.key --export-secret-keys 3AA5C34371567BD2
```
* Then run this command for Revocation Certificate but replace ```3AA5C34371567BD2``` with your GPG Key ID:
```
gpg --output revoke.asc --gen-revoke 3AA5C34371567BD2
```
*  Then export your public key with this command but replace ```3AA5C34371567BD2``` with your GPG Key ID :
```
gpg --armor --export 3AA5C34371567BD2 > 3AA5C34371567BD2.asc
```
* publish to [PGP Global Directory](https://keyserver.pgp.com/vkd/GetWelcomeScreen.event) , import key , trust and sign with Thunderbird Email Client or any other client

* After this backup your secret.key and revoke.asc to an external disk and keep it safe.

* Then open your public key with a text editor and copy all text and add your Public Key to GitHub like told here : https://docs.github.com/en/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account

# For signing Commits with your GPG Key

Please read this : 

* https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
* https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key

# Conclusion

* We have generated SSH Key and added our public SSH Key to our GitHub account.
* We have generated GPG Key, exported secret key, exported revocation certificate, published our public key to a server in this example PGP Global Directory and then we moved our secret.key and revoke.asc to an external disk. Then we added our GPG key to GitHub account.
* For signing commit we configured our git account.

**happy hacking!...**

# Where we store this documentation

* https://codeberg.org/hwpplayer1/hacker-how-to
* https://git.disroot.org/hwpplayer1/hacker-how-to
* https://git.vern.cc/hwpplayer1/hacker-how-to
* https://git.sr.ht/~mertgor/hacker-how-to
* https://gitlab.com/masscollabs/masscollaborationlabs/hacker-how-to
* https://github.com/hwpplayer1/hacker-how-to

# License

[CC BY-SA 4.0 or any later](by-sa.markdown)

# ChangeLog

Please See the ChangeLog for the Log activity
