List all developers on a project in Git

后端 未结 9 2083
半阙折子戏
半阙折子戏 2020-12-07 08:25

Is it possible to list all users that contributed to a project (users that have done commits) in Git?

Any additional statistics?

相关标签:
9条回答
  • 2020-12-07 08:37

    I am using GHI to open issues and where I can assign issues to specific users as long as I know their usernames

    I don't if this is going to be helpful for someone but I am just going to leave the solution that worked for me here:

    To get only the authors username from the GitHub I ran

    git shortlog -sne | grep +  | sed -e "s/.*+//; s/@.*//"
    

    which will only list the username of the authors on the current project.

    Then i can pick an username and assign an issue to him/her.

    FOR ANYONE WHO WANTS TO OPEN ISSUES AND/OR ASSIGN TO SOMEONE FROM CMD/TERMINAL, HERE THE DOCUMENTATION OF THE GHI https://github.com/stephencelis/ghi

    0 讨论(0)
  • 2020-12-07 08:49

    I haven't got around to testing it myself yet, but this looks really nice for project statistics for a Git repository: https://github.com/visionmedia/git-extras

    Check out the bin catalog to see the the different scripts.

    For example, the git-count script (commit count per committer):

    git shortlog -n $@ | grep "):" | sed 's|:||'
    
    0 讨论(0)
  • 2020-12-07 08:50

    (users that have done commits)

    Note: by default git shortlog groups commits by authors.

    If you need to group them by committers, you will need Git 2.12 (Q1 2017)

    git shortlog -snc
    

    See commit 03f4082 (16 Dec 2016) by Jeff King (peff).
    See commit fbfda15 (11 Oct 2016) by Linus Torvalds (torvalds).
    (Merged by Junio C Hamano -- gitster -- in commit ad1b4e2, 27 Dec 2016)

    Linus Torvalds himself introduces this feature:

    shortlog: group by committer information

    In some situations you may want to group the commits not by author, but by committer instead.

    For example, when I just wanted to look up what I'm still missing from linux-next in the current merge window, I don't care so much about who wrote a patch, as what git tree it came from, which generally boils down to "who committed it".

    So make git shortlog take a "-c" or "--committer" option to switch grouping to that.

    0 讨论(0)
  • 2020-12-07 08:52

    Another option can be:

    git log --format='%aN' | sort -u
    
    0 讨论(0)
  • 2020-12-07 08:55

    Great answers by @pedro-nascimento, by @mic_e and others already solve the problem.

    In addition, you can add the following line to your .gitconfig

    contributors = shortlog -e --summary --numbered
    

    or in shell type

    git config --global alias.contributors 'shortlog -e --summary --numbered'
    

    And after that you can simply invoke: git contributors

    0 讨论(0)
  • 2020-12-07 08:56

    If you want to be more specific in the list (find a list of unique committer and author), you could use git log:

    git log --pretty="%an %ae%n%cn %ce" | sort | uniq
    
    • %an author name
    • %ae author email
    • %n new line
    • %cn committer name
    • %ce committer email

    Other placeholders are described in the pretty print documentation of git log.

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