我注意到我的 git 存储库中的几个 .txt
文件具有执行权限。我还注意到,当我执行 chmod a-x *.txt
时,repo 实际上显示了更改。这是更新文件后 git diff
的输出。
diff --git a/requirements.txt b/requirements.txt
old mode 100755
new mode 100644
有没有办法归咎于文件的权限? (具体来说,我想找出是谁向这些文件添加了 a+x
权限。
最佳答案
您可能使用了 git diff
命令并指定了一些提交来获得问题中显示的结果。假设命令是:
git diff goodcommit..badcommit requirements.txt
如果您省略了 ..badcommit
部分,则假设 badcommit
是 HEAD
。您可以通过运行以下命令序列轻松找到有问题的提交(和罪魁祸首):
git bisect start badcommit goodcommit
git bisect run test ! -x requirements.txt
然后等待完成。最后你会收到如下消息:
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
要恢复正常工作,只需运行:
git bisect reset
关于git - "git blame"文件访问控制修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598046/