How to find out in which commit a particular code was added?

前端 未结 5 705
执念已碎
执念已碎 2020-12-22 22:13

I want to find out in which commit did I add the code given below:

if (getListView().getChildCount() == 0)
                getActivity().findViewById(androi         


        
相关标签:
5条回答
  • 2020-12-22 22:49

    There is something quicker than issuing a blame on the full file. If the line is ${lineno} and the file is ${filename} you can:

    git blame -L ${lineno},${lineno} ${filename}
    

    Example:

    git blame -L 2,2 test.txt
    
    0 讨论(0)
  • 2020-12-22 22:49
    git log -S "mention here line of code" [file-path]    
    

    For example:

    git log -S "First line" test.txt         
    

    Providing the file name with its path is obvious because, most of the time, we want to know who introduced a particular code segment in a particular file.

    0 讨论(0)
  • 2020-12-22 22:50
    git log -S searchTerm
    

    gives you the commits in which the search term was introduced.

    0 讨论(0)
  • 2020-12-22 22:57

    If code is being maintained in Git repository and intellij IDE along with Git plugin is being used to browse the code then i have found the following way very intuitive:

    1. Open the file in intellij
    2. Go to context menu -> Git -> Annotate.
    3. New window will appear where each line in new window tells who made that line commit.

    Following screenshots are for the references:

    0 讨论(0)
  • 2020-12-22 23:12

    Run git blame on the file. It'll show you the commit ID, the date and time, and who committed it- for each line. Then just copy out the commit identifier and you can use it in git log <commit> or git show <commit>.

    For example, I've got a file, called test.txt, with lines added on different commits:

    $ cat test.txt
    First line.
    Second line.
    

    Running the git blame:

    $ git blame test.txt
    ^410c3dd (Leigh 2013-11-09 12:00:00 1) First line.
    2365eb7d (Leigh 2013-11-09 12:00:10 2) Second line.
    

    The first bit is the commit ID, then name, then date, time, time zone, and finally the line number and line contents.

    0 讨论(0)
提交回复
热议问题