【发布时间】:2020-04-07 00:01:15
【问题描述】:
目前,基于this 问题,我能够提出以下命令:
git log -u -L 1626,1626:airflow/www/app.py 7399d6176181190a63b70eeec0f7012156c15332..HEAD
例如我正在寻找何时从气流/www/app.py 修改(删除)第 1626 行。行号在commit 7399d6有效,但在HEAD无效,导致如下错误:
fatal: file airflow/www/app.py has only 255 lines
(从那时起文件变得更短了。)
如果文件足够长,我想我不会有这个问题。我可以以某种方式关闭此检查吗?
【问题讨论】:
-
git rev-list 7399d6176181190a63b70eeec0f7012156c15332..HEAD | xargs -i sh -c 'git diff -r {}^..{} airflow/www/app.py | grep expose_config && echo {}'为我工作,其中expose_config 是我正在寻找的行的一部分。尚不确定如何通过 grep 查找任何随机字符串并妥善处理所有内容。 -
您可以尝试将
git bisect与git grep结合起来,以更快地找出行消失的时间:git bisect bad没有行的提交,git bisect good的提交确实,然后使用脚本检查是否存在该行作为您的 bisect 脚本 (git bisect run)。
标签: git