tag - git символические ссылки




git фиксирует символическую ссылку как обычный файл (2)

В Windows вы можете делать то, что хотите, с помощью соединения

Например, программы часто хранят файл настроек где-то в системе, но я бы хотел, чтобы версия управляла им в моем репозитории. Я не могу переместить файл, и я не хочу делать дубликаты или что-то еще

Если мы поместим ярлык Windows в каталог репозитория, он увидит его как двоичный отдельный файл; не каталог, указывающий на все фактические файлы, которые вы хотите включить

Нам нужна возможность помещать что-то вроде ярлыка Windows в репозиторий, но этот git будет рассматривать как еще одну папку:

cd /location/of/my/repo/  
mklink /j "_linkTo_VimSettings" "C:\Program Files (x86)\Vim"

Предположим, что у меня есть файл fname который является символической ссылкой на файл из другого репозитория / проекта, например ../../proj2/fname .

Есть ли способ добавить / зафиксировать fname в качестве обычного файла?

По-видимому, по умолчанию git предоставляет режим файла 120000 и устанавливает путь к связанному файлу в виде содержимого blob.

Я знаю это, потому что git ls-tree показывает режим 120000 для файла, а git cat-file -p показывает ../../proj2/fname как содержимое blob.


Если вы хотите, чтобы файл отображался вместо ссылки, вы, вероятно, должны использовать команду ln для создания жесткой ссылки вместо символической ссылки ( ln -s ).

Создавая жесткую ссылку, вы можете сделать тот же файл отображаться в двух разных каталогах, поэтому изменение его по любой из ссылок будет отражать изменения через обе ссылки, и файл будет жить в обоих каталогах, поэтому он будет отслеживаться git ,

Надеюсь, что mklink /j Windows mklink /j в ответе Букова сделает это, но я действительно ничего не знаю.





symlink