gpt4 book ai didi

git - 谁删除了我在 git 中的更改?

转载 作者:IT王子 更新时间:2023-10-29 01:24:23 25 4
gpt4 key购买 nike

这是我过去 30 分钟的问题:我的一个文件中有几处更改消失了,我不知道那是什么时候发生的。我想知道是谁干的!

我开始寻找包含我的文件的修订版:

git grep <searched_string> $(git rev-list --all) -- <file>

是文件的路径或类似 *.gsp 的通配符

我得到了一堆修订,我查看了最后一个,并尝试获取它的子项(认为第一个子项应该是我的更改消失的第一个修订)

git rev-list --children <revision_id>

是从上一条命令的最后一行开始的 40 个字符

越来越近了!我在看输出的开头,取第一个 child 然后运行

git log <revision_id_s_first_child> --stat

然后我查看输出并找到我的文件以及谁进行了更改!(原来,是我惹的祸……)

有没有办法更快地做到这一点(git blame 不会显示已删除的内容)?

最佳答案

git blame 有一个 --reverse 选项,它接受一系列提交,并向您显示某行在被删除之前存在的最后一次提交。所以,你找到一个你知道行在那里的提交,让我们说 abcdef01 例如,要显示删除之前的最后一次提交,请执行:

git blame --reverse abcdef01..HEAD -- <file>

关于git - 谁删除了我在 git 中的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262959/

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