Programming

Finding developers who recently made changes to a component with git

A few git commands to list the developers with recent commits in a specific folder. I find that this is a good/quick way to find out who you need to talk to if you have questions about a specific code component or feature.

chinhdo@ubuntu2:~/v/tmp/converted2$ git shortlog -sn
    10  Chinh Do
     6  cdo
     5  Vas Gábor

Add a ” .” (space dot) at the end of the above command to limit to the current folder.

Use git log and –pretty to show more columns:

$ git log --after='2020-01-01' --no-merges --abbrev-commit --pretty="format: %h (%an - %cr) - %s" -- .
 13495c64f7 (Joey Perrott - 3 days ago) - docs(dev-infra): update triage and contributing docs for dev-infra (#35995)
 3f88de9407 (George Kalpakas - 9 days ago) - build: move build scripts to dedicated directory (#35780)
 2e728f7fff (George Kalpakas - 9 days ago) - docs: remove `ivy` and mention `ve` label in docs (#35809)
 5615928df9 (Paul Gschwendtner - 10 days ago) - build: no longer run tslint from within gulp task (#35800)
 ...

List recent authors sorted by number of commits:

$ git log --after='2019-06-01' --no-merges -- . | grep Author: | sort | uniq -c | sort -bgr
       9 Author: George Kalpakas kalpakas.g@gmail.com
       7 Author: Joey Perrott josephperrott.github@gmail.com
       3 Author: Paul Gschwendtner paulgschwendtner@gmail.com
       2 Author: Michael Prentice splaktar@gmail.com
       2 Author: Judy Bogart jbogart@gmail.com
       ...

See also

  • https://devhints.io/git-log-format
Chinh Do

I occasionally blog about programming (.NET, Node.js, Java, PowerShell, React, Angular, JavaScript, etc), gadgets, etc. Follow me on Twitter for tips on those same topics. You can also find me on GitHub. See About for more info.

View Comments

Recent Posts

How to switch to a different Kubernetes context or namespace?

To list available contexts: kubectl config get-contexts To show the current context: kubectl config current-context…

2 years ago

How to ssh into Kubernetes pod

kubectl exec -it <podname> -- sh To get a list of running pods in the…

2 years ago

How to Create a Soft Symbolic Link (symlink) in Unix/Linux

# Create a soft symbolic link from /mnt/original (file or folder) to ~/link ln -s…

3 years ago

How to Configure Git Username and Email Address

git config --global user.name "<your name>" git config --global user.email "<youremail@somewhere.com>" Related Commands Show current…

3 years ago

Getting the Last Monday for Any Month with TypeScript/JavaScript

TypeScript/JavaScript function getLastMonday(d: Date) { let d1 = new Date(d.getFullYear(), d.getMonth() + 1, 0); let…

4 years ago

How to View Raw SMTP Email Headers in Outlook

I had to do some SMTP relay troubleshooting and it wasn't obvious how to view…

5 years ago