1. ホーム
  2. git

[解決済み] git status "の "T "はどういう意味ですか?(manページにはありません。)

2023-07-13 23:46:23

質問

私が git status と表示されます。

T /path/to/file...
M /path/to/otherfile...

は具体的にどのようなものかというと T git status は何を意味するのでしょうか?

試しに man git-status (たしか にする必要があります。 があるはずなのですが、ありません)。

どのように解決するのですか?

ファイルのタイプが変更されたことを意味します。たとえば、シンボリックリンクが通常のファイルになった場合などです。

私の知る限り、これはシンボルリンク、サブモジュール、通常のファイルにのみ適用されます

編集

この情報については、出典を求められました。これは単に私の頭の中にある情報ですが、インターネット上でいくつかの文献を見つけることができました。最も顕著だったのは a git changelog で、タイプ変更として "T" が、削除として "D" が挙げられています。

編集2 (今までで一番評価の高い回答なので更新中)

フィリップ・オークリー氏(@PhilipOakley)のご指摘の通りです。 man git-diff-files は実際にこの情報を表示します。

可能なステータス文字は

  • A: ファイルの追加
  • C: ファイルの新しいファイルへのコピー
  • D: ファイルの削除
  • M: ファイルの内容またはモードの変更
  • R: ファイルのリネーム
  • T: ファイルの種類の変更
  • U: ファイルのマージが解除された (コミットする前にマージを完了する必要があります)
  • X: "unknown" 変更の種類 (おそらくはバグです。報告してください)

Mat さんのご指摘のとおり、これもまた diff.h の 289 行目にもあります。

#define DIFF_STATUS_TYPE_CHANGED    'T'

そして、その中に wt-status.c の、282行目。

case DIFF_STATUS_TYPE_CHANGED:
    status_printf_more(s, c, _("typechange: %s"), one);
    break;