DEV Community

Nick Vahalik
Nick Vahalik

Posted on

 

git log --simplify-by-decoration is my new best friend

In short, it's this: git log --decorate --graph --simplify-by-decoration --oneline [--all]

Let's break it down:

git log - Well, it shows you a historical log of commits.

--decorate - adds information about branches and tags to the log information. If a particular commit hash is tagged or is the latest in a branch, it will show you the name of the branch.

--graph - Git will show you some connecting information. For example, it will show you where commits end up and where the split from other branches. Really helpful if you're trying to figure out where one branch happens to split from another branch.

--simplify-by-decoration - Ah, this is the juicy one. Basically, adding this option only shows commits which have a decoration on them.

--oneline - Only show one line per commit. Essentially, show the SHA, the decorator, and the first line of the commit message.

--all - Adding this last option will show you not just the active branch, but all tags and branches that Git knows about.

* a471bb62 (HEAD -> sprint-7, tag: 2.0.0-9, origin/sprint-7) PROJ-1124 - Use the new widget.
* 39ad8aaf (PROJ-1125-no-boz-far) PROJ-1125 - Also handle no condition.
* 153feba4 (PROJ-1116-access-faz-boo) A couple of extra fixes.
| * 446ae0a4 (origin/PROJ-1125-no-boz-far) navigate to page
|/
| * a1716093 (origin/PROJ-1116-access-faz-boo) fixed access
|/
| * 1c0e6857 (origin/PROJ-1117-lorem-ipsum) fixed css
|/
| * 173131cf (refs/stash) WIP on PROJ-1117-baz-bar-foo: 266064d3 added icons
|/
| * bc7570bc (PROJ-880-bar-baz) PROJ-880 - Adding content.
|/
* bb5f437f (origin/staging, staging) PROJ-181 - Adjust spacing.
* 49f8dae4 (origin/master, origin/HEAD, master) 1.3.12
| * 8ec3b4f9 (tag: 2.0.0b3) Tagging 2.0.0-3.
| * d258e3c8 (tag: 2.0.0) 2.0.0
|/
| * 06f365ee (origin/PROJ-880-bar-baz) PROJ-880 - Adding content.
|/
* 24c6e2e0 (tag: 1.3.11) 1.3.11
<snip>

Top comments (0)

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.