Git - version control system

172 readers
5 users here now

Git - version control system

Please use English.

founded 4 years ago
MODERATORS
1
 
 

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?

2
 
 

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 = [email protected]
    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 = [email protected]
    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 = [email protected]
    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.

3
4
1
Git man page generator (git-man-page-generator.lokaltog.net)
submitted 2 years ago by [email protected] to c/[email protected]
5
6
7
 
 

git-worktree is a beautiful thing.

8
9
1
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

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).

10
 
 

And if I sign them after, with git commit --amend -S, will that cause problems for later pulls or pushes with subtree?

11
12
 
 

Yes, I giggled when I found it

13
 
 

Between Github, GitLab, Gitea, Sourcehut and more, what is the source forge that you currently use and why?