【问题标题】:Find all current lines modified by an author查找作者修改的所有当前行
【发布时间】:2015-11-26 01:26:11
【问题描述】:

我将如何在 git 中确定仍然存在的来自特定作者的所有行。例如,一个 Tony 参与了我的项目,我想找到我的开发分支中仍然存在并且来自 Tony 编写的提交的所有行?

【问题讨论】:

  • 你想要的和git blame提供的有什么不同?
  • @wnoise 我正在寻找一种方法来基本上搜索 git blame 的所有文件,并且只 grep 特定作者的输出。

标签: git version-control blame git-blame


【解决方案1】:

也许只是git blame FILE | grep "Some Name"

或者如果你想递归地责备+搜索多个文件:

for file in $(git ls-files); do git blame $file | grep "Some Name"; done

注意:我最初建议使用下面的方法,但您可能会遇到的问题是它也可能在您的工作目录中找到实际上未被 git 跟踪的文件,因此git blame这些文件将失败并中断循环。

find . -type f -name "*.foo" | xargs git blame | grep "Some Name"

【讨论】:

    【解决方案2】:

    sideshowbarker 大部分是正确的,但固定的第二个命令是:

    find . -type f -exec git blame {} \; | grep "Some Name"
    

    虽然我更愿意这样做:

    for FILE in $(git ls-files) ; do git blame $FILE | grep "Some Name" ; done | less
    

    【讨论】:

      猜你喜欢
      • 2017-11-30
      • 2016-09-20
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 2023-03-03
      相关资源
      最近更新 更多