3

Git Bash でリポジトリのステータスを表示すると、「削除済み」とマークされたファイルが多数表示されます。LibGit2Sharp RepositoryStatus は、これらのファイルを "Missing" として報告します。RepositoryStatus オブジェクトには、コレクション「Removed」もあります。

これら2つの違いは何ですか?削除されたファイルは「削除済み」としてマークされるべきではありませんか?

4

1 に答える 1

4

では、これら2つの違いは何ですか?

MissingおよびRemovedは、FileStatus列挙のエントリです。

xmlドキュメントで述べられているように

  • Missingは、「ファイルが作業ディレクトリから削除されました。以前のバージョンがインデックスに存在する」ことを意味します。

  • 削除とは、「ファイルの削除が作業ディレクトリからインデックスに昇格されました。以前のバージョンがヘッドに存在する」ことを意味します。

これらは、ファイル ライフサイクルの特定の状態と見なすことができます。作業ディレクトリ、インデックス、およびヘッドに存在するファイルを考えてみましょう。そのステータスは変更なしです。

作業ディレクトリから除外されている (つまり、ファイルシステムから削除されている) 場合、ファイルのステータスはMissingになります。

ここで、ファイルの抑制を段階的に行うと、そのファイルはインデックスから消え、ステータスは削除済みになります

削除されたファイルは「削除済み」としてマークされるべきではありませんか?

Git は、削除されたという同じ単語を使用して、2 つの状態を表します。ただし、それらを明確にするための視覚的な手がかりがいくつかあります。

実行時git status

  • 不足しているファイルがChanges not staged for commit:セクションの下にリストされており、削除された単語は赤で表示されます

  • 削除されたファイルはセクションの下にリストされChanges to be committed:、削除された単語は緑色で表示されます

于 2012-06-25T18:17:59.210 に答える