1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 23:28:02 +00:00

Add Manually Pass Two Git Files To Delta as a Unix TIL

This commit is contained in:
jbranchaud
2024-12-19 18:24:27 -06:00
parent aeb55efc3c
commit 8801f39df0
2 changed files with 34 additions and 1 deletions

View File

@@ -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).
_1542 TILs and counting..._
_1543 TILs and counting..._
---
@@ -1528,6 +1528,7 @@ _1542 TILs and counting..._
- [Load Env Vars In Bash Script](unix/load-env-vars-in-bash-script.md)
- [Look Through All Files That Have Been Git Stashed](unix/look-through-all-files-that-have-been-git-stashed.md)
- [Make Direnv Less Noisy](unix/make-direnv-less-noisy.md)
- [Manually Pass Two Git Files To Delta](unix/manually-pass-two-git-files-to-delta.md)
- [Map A Domain To localhost](unix/map-a-domain-to-localhost.md)
- [Negative Look-Ahead Search With ripgrep](unix/negative-look-ahead-search-with-ripgrep.md)
- [Occupy A Local Port With Netcat](unix/occupy-a-local-port-with-netcat.md)

View File

@@ -0,0 +1,32 @@
# Manually Pass Two Git Files To Delta
I recently [wired up `delta` as my default pager and differ for
`git`](git/better-diffs-with-delta.md). However, when I installed `delta`, I
first wanted to see what its diff output looked like.
How can I pass two versions of the same file from `git` to `delta`?
I can show the current contents of a file with `git show` referencing the
`HEAD` commit.
```bash
$ git show HEAD:main.go
```
Similiarly, I can show the contents of that file _one_ commit ago with `HEAD~`.
```bash
$ git show HEAD~:main.go
```
I can then pass each of those commands as virtual files to `delta` using the
`<()` syntax. The older file goes first and the newer second.
```bash
$ delta <(git show HEAD~:main.go) <(git show HEAD:main.go)
```
That works and comes in handy if you need to compare two things that aren't
necessarily files or aren't necessarily under version control. However, in
hindsight, I'd say it is easier to add delta as the pager and differ and try it
out directly.