Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git日志排除重命名_Git - Fatal编程技术网

git日志排除重命名

git日志排除重命名,git,Git,我可以列出文件的提交,即使它已被重命名或移动 git log --follow foo.sh 但是,我想“跟踪”文件,但只列出文件实际更改的位置。差不多 git log --follow --exclude-renames foo.sh 有点像在“”中,您可以添加--name status,以便: 不选择(grep-v重命名:状态“Rxxx”,同时保留添加“A”或修改“M”) 仍然跟随文件的不同名称 但这仍然需要对git log命令进行后处理(使用grep和/或sed)以获得所需的输出:

我可以列出文件的提交,即使它已被重命名或移动

git log --follow foo.sh
但是,我想“跟踪”文件,但只列出文件实际更改的位置。差不多

git log --follow --exclude-renames foo.sh
有点像在“”中,您可以添加
--name status
,以便:

  • 不选择(
    grep-v
    重命名:状态“
    Rxxx
    ”,同时保留添加“
    A
    ”或修改“
    M
    ”)
  • 仍然跟随文件的不同名称
但这仍然需要对git log命令进行后处理(使用grep和/或sed)以获得所需的输出:目前还没有本机的“
--exclude renames
”-类似选项。

git log--follow--name status--oneline foo.sh|sed'h;N/\nR/d;g'
  • 复制提交行以保留空间
  • 读第二行
  • 如果找到以
    R
    开头的行,则删除模式空间并开始下一个循环, 否则将保留空间复制到图案空间

由于

看到“--exclude renames”选项比仅提供sed选项短两个字节,我很难理解yetanotheroptionname…:-)我试图通过提交消息过滤它,并使用
--grep=“重命名:”--invert grep
,但对我来说,这不起作用。但是oposide方向
--grep=“重命名:”
分叉并仅显示消息中包含“重命名:”测试的提交。但请记住,如果它只是一个按消息过滤,这就不能尊重混合重命名和更改的提交。