Git: Difference between revisions

Kiara (talk | contribs)
link to bisecting article
m Remove duplicate line added by mistake
 
(6 intermediate revisions by 4 users not shown)
Line 16: Line 16:


== Configuration ==
== Configuration ==
Git can be configured using [[Home Manager]]:
Git can be configured using [[Home Manager]]:


Line 83: Line 82:
       push = { autoSetupRemote = true; };
       push = { autoSetupRemote = true; };
     };
     };
  };
}
</syntaxhighlight>
=== Using your public SSH key as a signing key ===
You can naturally configure git to automatically sign your commits using your public SSH key like so:<syntaxhighlight lang="nix">
{
  programs.git = {
    enable = true;
    signing = {
      key = "ssh-ed25519 AAAAAAAAAAAA...AA username@hostname";
      signByDefault = true;
    };
    extraConfig = {
      gpg = {
        format = "ssh";
      };
    };
  };
}
</syntaxhighlight>However, note that this will also require Home Manager to manage your SSH configuration:<syntaxhighlight lang="nix">
{   
  programs.ssh = {
    enable = true;
    addKeysToAgent = "yes";
   };
   };
}
}
Line 149: Line 173:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo -u git bash -c '
sudo -u git bash -c "git init --bare ~/myproject.git"
  cd /var/lib/git-server
  mkdir myproject.git
  cd myproject.git
  git init --bare
'
</syntaxhighlight>
</syntaxhighlight>
(<code>~</code> here is the home of the user <code>git</code>, which is <code>/var/lib/git-server</code>)


2. Push to the server repo from another system  
2. Push to the server repo from another system  
Line 186: Line 206:


[[Category:Applications]]
[[Category:Applications]]
[[Category:CLI Applications]]
[[Category:Version control]]