Some Git Tips useful for contributors and developers

Here we put some tips and cheatsheets, the full documentations are at Git Primer in Committer's Guide and Using Git in Handbook, which is recommended to read and editing is always welcomed.

.gitconfig

There are two common places for git config, global (~/.gitconfig) and project wise (/path/to/the/project/.git/config).

You can set your preferred name and email for different projects:

[user]
        name = 
        email = 

Please note, that email set in the global user config (~/.gitconfig) will get used in all repositories that do not set per repo value.

format

To show both for author and committer information for checking the credit is given to the submitter, set fuller format for git log and git show

[format]
        pretty = fuller

rewriting history

To rewrite history, including separating out components from FreeBSD src, see the examples in git-filter.

commit count (replacement of revision number)

git rev-list --first-parent --count HEAD

Show your diff while writing commit msg

If you want to see your uncommitted diff while writing a commit message, either run:

git commit --verbose

…or configure it accordingly:

[commit]
        verbose = true

Show (long enough) hash

git rev-parse --short <long hash>

Worktree

It's handy to tracking multiple branches simultaneously with git-worktree(1)

cd freebsd-ports; git worktree add -b 2021Q3 ../freebsd-ports-2021Q3 freebsd/2021Q3
cd freebsd-src; git worktree add -b stable/13 ../freebsd-src-13 freebsd/stable/13

GitTips (last edited 2021-09-09T17:39:54+0000 by PiotrSmyrak)