Git - version control system
I've come across this protocol on cgit, hosted by GNU Savannah. What is the purpose of `git://`, and how does it differ, compared to `https://`? Is there any security benefit over the same?
My account was flagged because I forked and contributed to the project Eaglercraft, and that means my account is basically useless. I have had enough of Microsoft's exploitation of power and want to switch to another alternative. I tried GitLab, but I need to signup with a credit card and I am not comfortable giving my personal info out. I tried Gitea and the experience is great, but I am limited to 5 repos. I tried Source Forge, but I cannot verify my phone number when creating a repo. The prompt just returns an API error. What other alternative should I try?
I was in need of using different signing keys (but same mail address) and had a little adventure in the advanced Git documentation I'd like to share. ______________ In your `~/.config/git/config`` remove the [user] section and add this instead: ``` [includeIf "hasconfig:remote.*.url:https://your-remote-url/**"] path = ~/.config/git/user_a ``` And in `~/.config/git/user_a` use this: ``` [user] email = username@example.com name = User Name signingkey = the_16_digit_GPG_key_ID ``` Repeat as often as you need. Just add another `includeIf` section for each of your remote hosts. You can also keep a “stub” user section in your `~/.config/git/config` if you always use the same user name and mail address but want to use different keys. ``` [user] email = dirk@0x7be.de name = Dirk ``` In your `includeIf`’d files simply set the signingkey: ``` [user] signingkey = the_16_digit_GPG_key_ID ``` Git automatically combines the two as needed. A minimal working example: File `~/.config/.git/config`: ``` [user] email = username@example.com name = User Name [commit] gpgsign = true [tag] gpgsign = true [includeIf "hasconfig:remote.*.url:https://hostname_A/**"] path = ~/.config/git/config-A [includeIf "hasconfig:remote.*.url:https://hostname_B/**"] path = ~/.config/git/config-B ``` File `~/.config/git/config-A`: ``` [user] signingkey = 16_digit_key_id_used_for_a ``` File `~/.config/git/config-B`: ``` [user] signingkey = 16_digit_key_id_used_for_b ``` Now when you push commits or tags to `hostname_A` or `hostname_B` the correct key is used to sign those (in the example, using same name and mail address) without having to manually edit this for all your local repositories.
Apparently it's possible to make patches to code with email, which is stated in `GIT-AM(1)`; but I don't know what the definition of an `<Maildir>` or `<mbox>` is. Update: I think `<Maildir>` refers to a directory of patch files (typically generated with `git format-patch`); `<mbox>` refers to a patch file (generated with `git format-patch`).
And if I sign them after, with `git commit --amend -S`, will that cause problems for later pulls or pushes with subtree?
Yes, I giggled when I found it
Between Github, GitLab, Gitea, Sourcehut and more, what is the source forge that you currently use and why?