{"channel":"tech","content":"It would be too much to say that << how core Git developers use Git >> is the *correct* way.  But it is far safer to say that it is the *orthodox* way.\r\n\r\nhttps://blog.gitbutler.com/how-git-core-devs-configure-git/\r\n\r\n<<< The results were very interesting, a rather concise list of 9 config settings and 3 aliases that the experiment participants more or less agreed should arguably be new defaults. Let's just take a look at the proposed config setting changes.\r\n\r\nmerge.conflictstyle = zdiff3\r\nrebase.autosquash = true\r\nrebase.autostash = true \r\ncommit.verbose = true\r\ndiff.colorMoved = true\r\ndiff.algorithm = histogram\r\ngrep.patternType = perl\r\nfeature.experimental = true\r\nbranch.sort = committerdate\r\n\r\nNow, none of these have become the new defaults in the 3 or 4 years since this experiment, but it\u2019s interesting that a lot of the Git developers themselves have a hard time using Git without several of these turned on.\r\n\r\nEven more interesting is that most of you probably don\u2019t know what any of these do.\r\n>>>","created_at":"2025-03-18T15:54:22.655965","id":313,"llm_annotations":{},"parent_id":null,"processed_content":"<p>It would be too much to say that <span class=\"literal-text\">how core Git developers use Git</span> is the <em>correct</em> way.  But it is far safer to say that it is the <em>orthodox</em> way.\r</p>\n<p><a href=\"https://blog.gitbutler.com/how-git-core-devs-configure-git/\" target=\"_blank\" rel=\"noopener noreferrer\">https://blog.gitbutler.com/how-git-core-devs-configure-git/</a>\r</p>\n<p><div class=\"mlq\"><button type=\"button\" class=\"mlq-collapse\" aria-label=\"Toggle visibility\"><span class=\"mlq-collapse-icon\">-</span></button><div class=\"mlq-content\"><p> The results were very interesting, a rather concise list of 9 config settings and 3 aliases that the experiment participants more or less agreed should arguably be new defaults. Let's just take a look at the proposed config setting changes.\r</p>\n<p>\r</p>\n<p>merge.conflictstyle = zdiff3\r</p>\n<p>rebase.autosquash = true\r</p>\n<p>rebase.autostash = true \r</p>\n<p>commit.verbose = true\r</p>\n<p>diff.colorMoved = true\r</p>\n<p>diff.algorithm = histogram\r</p>\n<p>grep.patternType = perl\r</p>\n<p>feature.experimental = true\r</p>\n<p>branch.sort = committerdate\r</p>\n<p>\r</p>\n<p>Now, none of these have become the new defaults in the 3 or 4 years since this experiment, but it\u2019s interesting that a lot of the Git developers themselves have a hard time using Git without several of these turned on.\r</p>\n<p>\r</p>\n<p>Even more interesting is that most of you probably don\u2019t know what any of these do.\r</p></div></div></p>","quotes":[],"subject":"Git, the orthodox way"}
