gpt4 book ai didi

php - 有没有办法让 git diff 显示方法名而不是类名?

转载 作者:IT王子 更新时间:2023-10-28 23:53:18 25 4
gpt4 key购买 nike

这已经困扰我一段时间了,搜索没有产生任何提示。

问题:

当我对包含 Class 的 PHP 文件执行 git diff 时,每个 hunk 描述都有类名,但没有提及方法名。

例如:

@@ -351,7 +351,7 @@ class Session
$form->setError($field, $subpassValid['msg']);
}

// E-Mail address error checking
$field = "email"; //Use field name for email
- if(!isset($subemail) || strlen($subemail = trim($subemail)) == 0){
+ if(!$subemail || strlen($subemail = trim($subemail)) == 0){
$form->setError($field, "* Email not entered");
@@ -373,7 +373,7 @@ class Session
...

问题:

有没有办法告诉 git 显示方法名而不是类名?

编辑:

附加信息:

diff version: 2.8.1
git version: 1.7.6 (from the git-core PPA)
OS: Ubuntu 9.10

我最初从股票 Ubuntu 存储库获得 git 版本 1.7.0.4,但更新了它希望它是一个错误。不幸的是,这并没有解决问题。

Edit2:

经过更多测试,如果函数声明完全缩进(使用空格或制表符), git diff 似乎不会提取函数名称。这似乎是 git 中的错误。

最佳答案

如果您发现自己遇到这个问题,可能是因为 gitdiff 定义了 hunk header。如果你想强制 git 使用它为 PHP 预定义的那些,请将以下行放在你的 git 存储库根文件夹中的 .gitattributes.git/info/attributes 存储库中的文件:

*.php diff=php

(其他语言也同样受支持。内置模式的列表在 documentation 中可用。)

全局设置

应该可以通过在 git version >= 1.4

中执行以下操作来全局设置它
  1. 将行放在 ~/.gitattributes
  2. 运行 git config --global core.attributesfile "~/.gitattributes"

或者如果你想全局设置这个

  1. 将行放入 /etc/gitattributes

警告:如果您在全局范围内单独设置此项,您的同行在运行 git diff 时可能会得到不同的结果,因为他们不会 checkout .gitattributes 的副本 与存储库。

关于php - 有没有办法让 git diff 显示方法名而不是类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7344577/

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