mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Better Diffs With Delta as a Git TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||||
|
|
||||||
_1538 TILs and counting..._
|
_1539 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -283,6 +283,7 @@ _1538 TILs and counting..._
|
|||||||
- [Add Only Tracked Files From A Directory](git/add-only-tracked-files-from-a-directory.md)
|
- [Add Only Tracked Files From A Directory](git/add-only-tracked-files-from-a-directory.md)
|
||||||
- [Amend Author Of Previous Commit](git/amend-author-of-previous-commit.md)
|
- [Amend Author Of Previous Commit](git/amend-author-of-previous-commit.md)
|
||||||
- [Auto-Squash Those Fixup Commits](git/auto-squash-those-fixup-commits.md)
|
- [Auto-Squash Those Fixup Commits](git/auto-squash-those-fixup-commits.md)
|
||||||
|
- [Better Diffs With Delta](git/better-diffs-with-delta.md)
|
||||||
- [Caching Credentials](git/caching-credentials.md)
|
- [Caching Credentials](git/caching-credentials.md)
|
||||||
- [Change The Start Point Of A Branch](git/change-the-start-point-of-a-branch.md)
|
- [Change The Start Point Of A Branch](git/change-the-start-point-of-a-branch.md)
|
||||||
- [Check How A File Is Being Ignored](git/check-how-a-file-is-being-ignored.md)
|
- [Check How A File Is Being Ignored](git/check-how-a-file-is-being-ignored.md)
|
||||||
|
|||||||
43
git/better-diffs-with-delta.md
Normal file
43
git/better-diffs-with-delta.md
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Better Diffs With Delta
|
||||||
|
|
||||||
|
A `git diff` from the command line is relatively bare bones. It shows you
|
||||||
|
removed lines and added lines that make up a changeset with the former text in
|
||||||
|
red and the later text in green. All other contextual text is in white. I've
|
||||||
|
found this to be good enough for most of the life of my git usage. I've been
|
||||||
|
missing out though.
|
||||||
|
|
||||||
|
By using [`delta`](https://github.com/dandavison/delta) as the pager and diff
|
||||||
|
filter for `git`, I get a bunch of nice visual improvements.
|
||||||
|
|
||||||
|
- Removals and additions are red and green shaded backgrounds
|
||||||
|
- Syntax highlighting for most languages
|
||||||
|
- Highlight specific part of a line that has changed
|
||||||
|
- Visual spacing and layout is clearer
|
||||||
|
|
||||||
|
To get all of this, all I had to do was install `delta`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ brew install delta
|
||||||
|
```
|
||||||
|
|
||||||
|
And then add `delta` as both the _core_ pager and `diffFilter` in my global git
|
||||||
|
config file:
|
||||||
|
|
||||||
|
```
|
||||||
|
[core]
|
||||||
|
pager = delta
|
||||||
|
[interactive]
|
||||||
|
singleKey = true # unrelated, but nice to have
|
||||||
|
diffFilter = delta --color-only
|
||||||
|
```
|
||||||
|
|
||||||
|
It's also recommended that you use `zdiff3` for your merge conflict style,
|
||||||
|
which I already had:
|
||||||
|
|
||||||
|
```
|
||||||
|
[merge]
|
||||||
|
conflictstyle = zdiff3
|
||||||
|
```
|
||||||
|
|
||||||
|
Once you have ths all configred, try a `git diff` or `git add --patch` and see
|
||||||
|
how much more visual info you get.
|
||||||
Reference in New Issue
Block a user