summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2025-02-25 19:08:47 +0100
committerAlan Pearce2025-02-25 19:08:47 +0100
commit626f20aa5542480cefa4c883a714f788631787e8 (patch)
tree135eb19fc76159693ba05f4f608c14ac77d135d2
parent89df9788b274ff0f5b1322cf5bf5b15ea8d3f670 (diff)
downloadnixfiles-626f20aa5542480cefa4c883a714f788631787e8.tar.lz
nixfiles-626f20aa5542480cefa4c883a714f788631787e8.tar.zst
nixfiles-626f20aa5542480cefa4c883a714f788631787e8.zip
git: add some recommended configuration settings
https://blog.gitbutler.com/how-git-core-devs-configure-git/
-rw-r--r--user/settings/git.nix23
1 files changed, 20 insertions, 3 deletions
diff --git a/user/settings/git.nix b/user/settings/git.nix
index 3fb6d19c..320f9aeb 100644
--- a/user/settings/git.nix
+++ b/user/settings/git.nix
@@ -34,12 +34,15 @@ in
       core = {
         commitGraph = true;
       };
+      commit = {
+        verbose = true;
+      };
       pull = {
         rebase = true;
       };
       fetch = {
         prune = true;
-        prunetags = true;
+        pruneTags = true;
       };
       push = {
         default = "current";
@@ -47,22 +50,35 @@ in
         followTags = true;
       };
       rebase = {
+        autostash = true;
         autosquash = true;
         updateRefs = true;
       };
       rerere = {
         enabled = true;
+        autoupdate = true;
       };
       merge = {
-        conflictStyle = "diff3";
+        conflictStyle = "zdiff3";
       };
       diff = {
         algorithm = "histogram";
-        colorMoved = "default";
+        colorMoved = "plain";
+        mnemonicPrefix = true;
+        renames = true;
+      };
+      grep = {
+        patternType = "perl";
       };
       remote = {
         autoSetupMerge = true;
       };
+      branch = {
+        sort = "committerdate";
+      };
+      tag = {
+        sort = "version:refname";
+      };
       "branch.master" = {
         rebase = false;
       };
@@ -127,6 +143,7 @@ in
     git-extras # delete-merged-branches and friends
     git-worktree-switcher
     ghq
+    # reduce these on server
     delta
     gitui
     gitstatus