Posts tagged "git"

Improve your workflow with Forge

In which I gush about my new favorite tool for working with GitLab: Magit Forge. Forge is an extension to the already extremely useful Magit, that integrates with the likes of GitHub and GitLab, letting you collaborate on issues and PRs without leaving Emacs.

Use git to restore parts of a file

In which we look at restoring parts of a file to its original state (or at least to what state it had at the specified commit). A handy workflow trick that uses the new git subcommand 'restore'.

Add updated files only

In which we look at the much-overlooked option for git add: --update. This option lets you add any and all files as long as they are currently tracked by git, but will ignore any files that git isn't tracking.

Amending authors

In which we look at amending git commit authors, both the steps you need to take to change the last few commits (or all of them), and how we can create a one-liner that just magically takes care of it for us.

Git config management

In which we dive into git config management with a short overview of the format, and of where git searches for config files by default. We look at how to set values, unsetting them, inspecting them, and how to list all your config values. Plus: a neat trick to debug config collisions!

Commit message templates

In which we take a closer look at using commit message templates to increase our productivity by decreasing the mental overhead required to write a message. We look at how to set up templates, how to unset them, and a couple of ideas on what to put in them.

Rebasing off a repo root

In which we have the briefest of looks at how you can rebase off the root of a git repository, allowing us to pick, squash, and reword each and every commit in the repository's entire history.

Automate your commit messages

In which we look at how we can use git hooks to automatically fill in certain bits of the commit message for use based on the state of the repository and our current branch. Also: A tiny look at differences between BSD and GNU sed.

Change your git comment character

In which we look at how we can change our comment characters for git, allowing us to start commit, tag, and any other messages with any character we might fancy, including hashes.

Modularizing your git config with conditional includes

In which we figure out how to conditionally change our git configurations depending on what directory we're working in, saving us from having to go back and rewrite commits to change the author.