Получение git, чтобы следовать символическим ссылкам (снова) - PullRequest
23 голосов
/ 01 октября 2009

Кто-то уже спрашивал, как вы можете заставить git следовать символическим ссылкам. Был ответ для символической ссылки каталог , но не для символической ссылки файл . Это было также больше года назад.

Вопрос: как заставить git перейти по символической ссылке и добавить файл, на который она ссылается?

Вот старый вопрос: Как мне заставить git следовать символическим ссылкам? . Есть также вопрос о том, что git обычно делает Как git обрабатывает символические ссылки? . Я ищу способ изменить это поведение.

В случае, если вам не безразлично: я запускаю git 1.5.4.3 для Unix и git версии 1.6.0 для Mac.

Ответы [ 4 ]

23 голосов
/ 01 октября 2009

Я почти уверен, что нет пути.

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

Об этом говорилось в списке рассылки git в конце прошлого года в ответ на практически тот же вопрос.

12 голосов
/ 23 апреля 2011

Вы можете использовать жесткие ссылки вместо мягких ссылок (a.k.a. символические ссылки). Git увидит содержимое связанного файла. Недостатком является то, что когда кто-то проверяет, файл создается как обычный файл в извлеченном каталоге, потому что Git не понимает его как ссылку.

6 голосов
/ 03 марта 2011

как насчет использования жестких ссылок, тогда git не знает, что это связанный файл (не так ли?)

2 голосов
/ 02 февраля 2017

Проблема с использованием жестких ссылок состоит в том, что, если что-то записывает в другое место замену файла, а не просто записывает изменения в нем, то у файла назначения появляется новый inode в файловой системе, и жесткая ссылка больше не указывает на него, поэтому файлы не синхронизированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...