Не бойся.Вы можете просто удалить одну из копий, не теряя другую.Существует не один «оригинал», а один «экземпляр».Вместо этого оба являются «оригинальными» файлами, которые будут существовать без другой стороны.Только содержимое файла передается на диск и, таким образом, сохраняется только один раз.
Это не особенность Git.Это именно то, как жесткие ссылки всегда работали (в отличие от программных ссылок / символических ссылок, которые имеют четкое различие между файлом ссылок и файлом, на который ссылаются).Это также причина, по которой жесткие ссылки не работают через границы файловой системы на одном компьютере.И это также причина, по которой функции (на нескольких языках программирования), которые удаляют файл в UN * X-подобных системах, часто называют «unlink» вместо «remove».
Конечно, поскольку содержимое файласохраняются на диске только один раз, обе копии будут изменены, если вы отредактируете одну из них.Но это не проблема.Git никогда _changes_ файлов в базе данных объектов, если только добавляет их (и иногда удаляет (= отменяет связь) их при сборке мусора).Поскольку объектные файлы в Git являются неизменяемыми, тот факт, что они жестко связаны с другими неизменяемыми файлами, вообще не имеет значения (кроме экономии места на диске), поэтому опция -l теперь используется по умолчанию в git-clone.