git
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| git [2026/06/07 00:37] – [tag] jhagstrand | git [2026/06/07 23:56] (current) – [Configuration] jhagstrand | ||
|---|---|---|---|
| Line 112: | Line 112: | ||
| line 2 is blank, this is what signals git to split title and body | line 2 is blank, this is what signals git to split title and body | ||
| line 3+ is body, max 72 chars per line, hit enter to hardcode each newline | line 3+ is body, max 72 chars per line, hit enter to hardcode each newline | ||
| + | |||
| + | The commit message title style guide. | ||
| + | * Like a document sub-heading | ||
| + | * Imperative | ||
| + | * Start with capital letter, no period at the end | ||
| + | * No articles or filler | ||
| + | |||
| The history log of commit messages, combined with skillful use of the branch, merge, reset, and rebase commands enable a programmer to communicate to future developers exactly what he changed and how, why and when. | The history log of commit messages, combined with skillful use of the branch, merge, reset, and rebase commands enable a programmer to communicate to future developers exactly what he changed and how, why and when. | ||
| Line 229: | Line 236: | ||
| git log --oneline --graph # shows a hierarchy of branches | git log --oneline --graph # shows a hierarchy of branches | ||
| + | ==== interactive rebase ==== | ||
| + | If you don't like the way the log looks now, the interactive rebase command lets you fix, reorder, drop and squash the commits, and reword the commit messages. | ||
| + | |||
| + | $ git switch mybranch | ||
| + | $ git rebase -i HEAD~3 | ||
| + | $ git rebase -i b619fca0 | ||
| + | |||
| + | The log is displayed in reverse chronological order. | ||
| + | |||
| + | The interactive rebase editor window displays the commits in chronological order. | ||
| + | |||
| + | A note about reordering the commits. | ||
| + | |||
| + | https:// | ||
| ===== How to use ===== | ===== How to use ===== | ||
| + | |||
| + | ==== Configuration ==== | ||
| + | |||
| + | Use git config --global to set name and email. | ||
| + | * Support anonymity by using a shielded email, like for example the private GitLab noreply masked email. | ||
| + | * Consider using a pair-programming persona as user.name to give credit to the AI author. | ||
| + | |||
| + | $ git config --global user.name "Your Name" | ||
| + | $ git config --global user.name "Your Name & Gemini 1.5 Flash" | ||
| + | $ git config --global user.email " | ||
| + | |||
| + | Aider automatically adds a Co-authored by: line to the body. Tell aider to skip that by adding parameters to .aider.conf.yml file: | ||
| + | attribute-author: | ||
| + | attribute-committer: | ||
| ====Create a new repository==== | ====Create a new repository==== | ||
git.1780807040.txt.gz · Last modified: 2026/06/07 00:37 by jhagstrand