Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 30, 2022 08:33 pm GMT

Git blame - How to find out who modified a line with Git

Have you ever found a bug inducing line change in your code, and wondered who made the change to that line? Fortunately, git has a command for that! git blame lets you pick a file and show who last changed every line. If you were wondering, it's called git blame because it lets you assign blame for the code breaking line you're investigating.

To find out who changed a line, simply run the following command where myfile.txt is the file you want to check:

git blame myfile.txt

If you're interested in the format of git blame, it breaks down like this:

^665221a (Johnny Simpson 2022-04-30 20:58:04 +0100  10) import { v4 as uuid } from 'uuid';^          ^                                         ^|          |                                         |Commit ID  |                                     Line number           |         Author and timestamp

Using git blame on a particular line

This is really useful, but what if you want to hone in on a specific line, you can use the -L option. For example, if you want to see the change history between line 1 and 5, you would do the following:

git blame index.js -L 1,5

Or, if you wanted to find the change history between lines 20 and 40, you could do the following:

git blame index.js -L 20,40

Other useful git blame options

There are also a bunch of other useful git blame options that you might want to use. Here are some of the ones I use the most, and what they do.

Showing an author's email with git blame

All you have to to show the email address of an author only, is use the -e option:

git blame index.js -e

Producing an output like this:

^665221a (<[email protected]> 2022-04-30 20:58:04 +0100   8) import { fileURLToPath } from 'url'

Ignoring whitepsace with git blame

You can also ignore whitespace with git blame, should your code contain a lot of it. To do this, you can use the -w option:

git blame index.js -w

Formatting lines with color using git blame

By default, git blame produces a wall of white or black text. If you want to differentiate different commits and changes by color, you can use the --color-lines or --color-by-age:

  • --color-lines colors lines if the line before was a different commit.
  • --color-by-age colors lines by their age.

Showing file names with git blame

To show the filename with git blame, use the -f option. This will show the file name along with the commit ID.

git blame index.js -f

Will produce an output like this:

^665221a index.js (Johnny Simpson 2022-04-30 20:58:04 +0100  16) import dotenv from 'dotenv'

Showing line changes from the bottom up (reversed) with git blame

You can also show line changes in reverse with git blame, meaning starting at the bottom, and going up. Just add the --reverse option to your command:

git blame index.js --reverse

Original Link: https://dev.to/smpnjn/git-blame-how-to-find-out-who-modified-a-line-with-git-4kmi

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To