"T"在"git status"中的含义是什么?(它不在手册页中)

sdl*_*ins 74 git

当我输入时,git status我看到:

T /path/to/file...
M /path/to/otherfile...
Run Code Online (Sandbox Code Playgroud)

究竟是什么T git status意思?

我试过man git-status(我认为应该在那里,但不是).

Tom*_*rdt 99

这意味着文件的类型已更改.例如,成为常规文件的符号链接.

据我所知,这仅适用于符号链接,子模块和常规文件

编辑
已请求此信息的来源.虽然这只是我头脑中的信息,但我能够在互联网上找到一些参考资料.最突出的一个是git changelog,提到"T"作为类型更改,"D"作为删除.

编辑2 (更新此,因为它是我迄今为止的最高评级答案)
正如@PhilipOakley所指出的,man git-diff-files实际上确实显示了这些信息.

可能的状态字母是:

  • 答:添加文件
  • C:将文件复制到新文件中
  • D:删除文件
  • M:修改文件的内容或模式
  • R:重命名文件
  • T:更改文件类型
  • U:文件已取消合并(您必须先完成合并才能提交)
  • X:"未知"更改类型(最有可能是错误,请报告)

正如@Mat所指出的,它也在diff.h第289行:

#define DIFF_STATUS_TYPE_CHANGED    'T'
Run Code Online (Sandbox Code Playgroud)

wt-status.c第282行:

case DIFF_STATUS_TYPE_CHANGED:
    status_printf_more(s, c, _("typechange: %s"), one);
    break;
Run Code Online (Sandbox Code Playgroud)

  • @Mat难道你不认为你有点过于字面意义吗?;-) (12认同)
  • :)它_is_尽管是最终的来源. (11认同)
  • Git source,`diff.h`在第289行/`wt-status.c`附近第282行@sidtj. (3认同)
  • 你能给出一些你的信息来源吗?不管怎么说,还是要谢谢你. (2认同)

Phi*_*ley 10

代码字母列在选项中git-diff-filesgit-diff-index下面--diff-filter.它们包括这些不常见的未列出的git-status.

他们的类型(即常规文件,符号链接,子模块,...)已更改(T),

来自git help diff-filesmsysgit版本1.7.8-preview20111206