git-cliff is a tool for generating change logs from commit history
Ergonomics
Forgit
Forgit is a zsh and fzf enabled command line tool that allows for more interactive git command use.
Tig
tig is a text-mode interface for git.
lazygit
lazygit is a terminal UI for git
Commit Messages
- Guide to Writing Commit Messages
- My Favourite Git Commit - Example of “good” commit
Add repo on server
root@git:/home/git/private # mkdir blog.git
root@git:/home/git/private # cd blog
root@git:/home/git/private/blog # git init --bare --shared
Initialized empty shared Git repository in /home/git/private/blog/
root@git:/home/git/private/blog # cd ..
root@git:/home/git/private # chown -R git:git blog.git
git-filter-repo
for Rewriting Git History
git-filter-repo
is a standalone Python script that can be used to rewrite the history of a Git repository, similar to the BFG Repo-Cleaner tool. It provides a powerful set of filters that can be used to modify the repository history in various ways, such as changing the author name/email, rewriting commit messages, removing sensitive data, and more. Unlike the BFG Repo-Cleaner, git-filter-repo
is actively maintained and recommended by the Git project. It’s designed to be more efficient and flexible than the BFG Repo-Cleaner, and can handle larger repositories more easily. To use git-filter-repo
, you can clone the repository and run the git-filter-repo
script with the desired filters and options. The script will rewrite the history of the repository based on the specified filters, and create a new repository with the modified history.
Repo can be found here: https://github.com/newren/git-filter-repo
A useful example of using it like a library to build more complex usages can be found here.