Line history viewer - Git

GitIdeLineVersioning

Git Problem Overview


I wondered if any of you knew of a tool that would allow me to select a line in my code and then view a list view of the history of that line on a commit-by-commit basis.

Does anyone know of such a tool?

Git Solutions


Solution 1 - Git

Maybe annotations in IntelliJ IDEA is that you are looking for:

the left gutter with enabled annotations

Showing and hiding annotations

  1. Open the desired file in the editor.
  2. To show annotations, right-click the left gutter, and select Annotate:
    context menu
  3. To hide annotations, right-click the annotations gutter, and choose Close Annotations.

Solution 2 - Git

I know only the IntelliJ IDEA "Viewing Changes History for Selection" feature.

You could also try to use several git blame commands to iterate over history of a fragment.

Solution 3 - Git

If you would like to view inline such information then you may add GitToolBox plugin. Live example on YT

Example view: enter image description here

How to setup: enter image description here enter image description here

Solution 4 - Git

git blame (docs)

git-blame shows what revision and author last modified each line of a file.

Usage examples

When you are interested in finding the origin for lines 40-50 for file foo, you can use the -L option like so (they mean the same thing — both ask for 11 lines starting at line 40):

git blame -L 40,50 foo.txt
git blame -L 40,+11 foo.txt

You can specify a revision for git blame to look back starting from (instead of the default of HEAD) if you want to find out who edited that lines before a specific commit (fe25b6d in this example; fe25b6d^ is the parent of fe25b6d):

git blame -L 40,+11 fe25b6d^ -- foo.txt

Solution 5 - Git

git log (docs)

git-log shows commit logs.

Usage example

You can specify -L option to trace the evolution of the line range given by ",". You can specify this option more than once.

git log -L 40,50:foo.txt

Solution 6 - Git

If you are using IntelliJ then, its annotation feature provides an option to do the annotation on previous revision. Using this option you can go back to the history of that line.

Find below screen-shot which shows, This option and its available in the community edition as well.

enter image description here

Solution 7 - Git

As suggested in one of the comments in Can Git show history for selected lines?

git show $(git blame example.js -L 250,260 | awk '{print $1}')

more info: Every line of code is always documented.

Solution 8 - Git

In IntelliJ, you can use show history for selection in the git submenu after selecting a line/ multiple lines.

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDavid.LPowerView Question on Stackoverflow
Solution 1 - GitLu55View Answer on Stackoverflow
Solution 2 - GitkanView Answer on Stackoverflow
Solution 3 - GitGelldurView Answer on Stackoverflow
Solution 4 - GitnaXa stands with UkraineView Answer on Stackoverflow
Solution 5 - GitnaXa stands with UkraineView Answer on Stackoverflow
Solution 6 - GitAmitView Answer on Stackoverflow
Solution 7 - GitSngerView Answer on Stackoverflow
Solution 8 - GitVishrantView Answer on Stackoverflow