“ git blame”文件访问控制修饰符

Rya*_*ker 4 git

我注意到.txtgit存储库中的几个文件具有执行权限。我还注意到,当我这样做时chmod a-x *.txt,回购实际上显示出了变化。这是git diff更新文件后的输出。

diff --git a/requirements.txt b/requirements.txt
old mode 100755
new mode 100644
Run Code Online (Sandbox Code Playgroud)

有没有办法怪罪文件的权限?(特别是我想找出是谁a+x向这些文件添加了权限。

Art*_*rFH 5

您可能已经使用git diff了指定了某些提交的命令来获取问题中显示的结果。假设命令为:

git diff goodcommit..badcommit requirements.txt
Run Code Online (Sandbox Code Playgroud)

如果省略了..badcommit一部分,则假设badcommitis为HEAD。您可以通过运行以下命令序列轻松找到有问题的提交(和罪魁祸首):

git bisect start badcommit goodcommit
git bisect run test ! -x requirements.txt
Run Code Online (Sandbox Code Playgroud)

然后等待完成。最后,您将收到类似以下的消息:

running test ! -x requirements.txt
8088473809f905bd8f3d5825983e8c9fe82b10c6 is the first bad commit
commit 8088473809f905bd8f3d5825983e8c9fe82b10c6
Author: author
Date:   Fri Jun 16 23:05:49 2017 +0100

    commit message
Run Code Online (Sandbox Code Playgroud)

要恢复正常工作,只需运行:

git bisect reset
Run Code Online (Sandbox Code Playgroud)