!git@lemmy.ml
Git - version control system
Please use English.
!git
@lemmy.mlI'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.
https://myme.no/posts/2023-01-22-git-commands-you-do-not-need.html
https://git-man-page-generator.lokaltog.net/
Create an infinite amount of straightforward and readable git manual pages.
https://westling.dev/b/extremely-linear-git
https://www.fossil-scm.org/home/doc/trunk/www/rebaseharm.md
https://git-scm.com/docs/git-worktree
https://gogs.io/
Gogs is a painless self-hosted Git service.
https://kernelnewbies.org/FAQ/HowToApplyAPatch