3つのトップレベルディレクトリを含むプロジェクトがあります。
A
B/dir1
C/symlink_to_dir1
ご覧のとおり、CのディレクトリからBの別のディレクトリにシンボリックリンクしています。これらの3つのディレクトリはWindowsの単一のGitリポジトリに保存されていますが、シンボリックリンクをコミットしようとすると問題が発生します。Gitがシンボリックリンクをそのように保存し、これが複製されたリポジトリにシンボリックリンクとして解凍することは私の理解でした。
ただし、シンボリックリンクをステージングする場合、リンク自体ではなく、dir1自体のファイルが追加されます。コミットするgit status
と、作業ディレクトリはクリーンであるgit add -A
と通知されますが、シンボリックリンクされたディレクトリからすべてのファイルが削除され、シンボリックリンクが追跡されていないことが通知されます。これは、コミットを行った直後に、アクションを実行せずに発生します。
私たちの望みは、リポジトリのクローンを作成するたびにシンボリックリンクを復元する必要がないようにシンボリックリンクを保持することです。これがGitのデフォルトの動作であることが私の理解でした。誰かが私たちがここで間違っていることを教えてもらえますか?