gpt4 book ai didi

git - 如何让 git 列出特定路径中特定类型的所有已更改文件以解决特定错误?

转载 作者:太空狗 更新时间:2023-10-29 13:19:32 25 4
gpt4 key购买 nike

我想知道如何让git列出所有改变的文件

  • 某种类型(例如所有 php 文件)
  • 在某个错误编号下提交。或尚未提交的内容
  • 并且在特定的路径中

我将首先为我的问题布置一个示例情况。

假设我更改了以下文件:

未提交的更改

/site/main.php
/site/main.html
/site/includes/lib.php

提交 3
提交消息:“错误 xyz:进行了一些更改”

/site/main.php
/site/main.html
/site/main.js
/test/test.php
/test/test.html

提交 2
提交消息:“错误 xyz:进行了更多更改”

/site/main.php
/site/main.html
/site/includes/include.php

提交 1
提交消息:“错误 abc:请注意,这是另一个错误”

/site/login.php

假设我仍在处理 bug xyz。现在我需要一个列表,列出到目前为止在站点目录中已针对此错误更改的所有 php 文件。所以我需要以下列表作为输出:

/site/main.php
/site/includes/lib.php
/site/includes/include.php

什么命令可以做到这一点?

最佳答案

这很接近:

git log --grep=xyz -- '*.php'

--grep 参数应用于提交消息。文件参数上的单引号确保 git 进行扩展。

一个测试:

ebg@ebg(328)$ git log --oneline
f687708 bar x, y, not a
dfb4b96 foo d, e, f
df18118 foo a, b, c
ebg@ebg(329)$ git log --oneline --grep=a
f687708 bar x, y, not a
df18118 foo a, b, c
ebg@ebg(330)$ git log --oneline --grep=a -- 'a.*'
df18118 foo a, b, c

文件扩展可能需要一些东西来处理子目录。排序:

git log --oneline --grep=a -- '*/a.*' 'a.*'

关于git - 如何让 git 列出特定路径中特定类型的所有已更改文件以解决特定错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com