簡體   English   中英

Git命令獲取包含特定文本的文件的所有提交者列表

[英]Git command to get list of all committers to files containing specific text

什么git命令獲取包含特定文本的文件的所有提交者的列表。 這可以可選地包括前/后參數。 我面臨的問題是,是否有任何特定的命令,或者我可以獲取文件列表並將其傳遞給某些命令?

可能是一些東西

git log --all -S "the string you search for" --pretty='%cn%n'

細節 :

-S過濾器使用以下參數中給出的字符串進行提交

%cn打印提交者名稱

%n只是一個新行

嘗試使用此命令為包含特定文本的文件提供所有提交者名稱和電子郵件:

    git log -S "search string" --stat --pretty=format:"%cn -%ce (%cd)"

讓我們分兩個階段。 第一個讓我們得到文件列表:

files=`git grep -l "searh string"`

讓列表讓我們列出所有觸摸文件的提交,獲取每次提交的作者姓名/電子郵件,對作者列表進行排序,只打印唯一的名稱/電子郵件。

git log --format='%an <%ae>' -- $files | sort -u

將兩個命令合並為一個:

git log --all --format='%an <%ae>' -- `git grep -l "search string"` | sort -u

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM