1. ホーム
  2. linux

[解決済み] Gitとハードリンク

2022-11-24 15:53:35

質問

Git はリポジトリの外を指すシンボリックリンクを認識しませんが、ハードリンクを使うことに問題はないのでしょうか?

Gitはそれを壊してしまうのでしょうか? 詳細な情報を教えてください。

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

Git のディレクトリを表す 'tree' オブジェクトは、ファイル名と(サブセットの)パーミッションを保存します。 それは、inode番号(または他の種類のファイルID)を保存しません。 したがって ハード・リンク は、gitでは表現できません。 のようなサードパーティツールなしでは、少なくとも表現できません。 メタストア または git-cache-meta (といったツールを使っても可能かどうかはわかりません)。

Gitは更新する必要のないファイルには触れないようにしようとしますが、gitはハードリンクを保存しようとしないので、gitによって壊される可能性があることを考慮しなければなりません。


について リポジトリ外を指すシンボリックリンク しかし、そのようなリンクの有用性は私には疑問です。なぜなら、それらのシンボリックリンクが壊れるかどうかは、ファイルシステムのレイアウトに依存するからです。 の外側 git リポジトリの外であり、git の制御下にはない。