'How do I prettily print out a git-diff output?
for my upcoming Bachelor thesis, I am required to print out the git-diff output for the appendix of the paper. I really like the output of git diff --color-words, but I have absolutely no idea how to bring this - colored and with line numbers included - to a piece of paper on my Mac. I know there are tools like SourceTree, but even with those I seem not able to make a pretty print out of the single file's diffs.
Well, I am pretty sure that I cannot be the only one with this problem, and I found some suggested ansi2html solutions, but they to not seem to work with my version of git (1.7.10.2). I also thought about simply printing the Github commit page (which is really pretty and kind of looks like what I need), but the browser will automatically remove all coloring and formatting when I am trying to print it.
Thanks for your help!
Solution 1:[1]
I just tried an npm package hosted on Github: pretty-diff
You install it via npm and run it as you would with git-diff, for example:
pretty-diff HEAD^
A new browser window opens and you can save it as html. I've tried to open it again in a different browser and colors are still showing. You can also use your github account to create gists and share them.
Solution 2:[2]
Since you are using a Mac with the terminal application, it is as simple as cut and pasting from the terminal to another application.
Solution 3:[3]
What i found pretty useful is to just pipe it into bat, a modern cat. If you want only a specific diff the command can be used as usual.
git diff | bat
You cann also set up a alias in your shell profile to avoid typing it out every time.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | ithil |
| Solution 2 | Jonathan Graham |
| Solution 3 | zettlrobert |
