Есть ли способ жестко связать все повторяющиеся объекты в папке, содержащей несколько репозиториев GIT?Deduplicate Git Forks на сервере
Объяснение: Я принимаю сервер git на моем сервере компании (Linux Machine). Идея состоит в том, чтобы иметь основной канонический репозиторий, к которому у каждого пользователя нет push-доступа, но каждый пользователь разворачивает канонический репозиторий (клонирует канонический в домашний каталог пользователя, тем самым фактически создавая жесткие ссылки).
/каноническое/Репо /Dev1/Репо (объекты Жесткий связана с/каноническому/Repo, когда первоначально клонировали) /DEV2/Репо (объекты Жесткий связана с/каноническому/Repo, когда первоначально клонировали)
Это все работает нормально. Проблема возникает, когда:
Dev1: Толчки огромный совершить на вилке на сервере (/ Dev1/Repo) DEV2: Выдает, что на его локальной системе, делает его собственные изменения и толкает его к своей вилке на сервере (/ DEV2/Repo)
(Теперь же «огромный» файл находится в обеих разработчиках вилка на сервере, он не создает жесткую ссылку автоматически)
Это съедает мой сервер пространство как сумасшедший!
Как создать жесткие ссылки между объектами, которые дублируются между двумя вилками или каноническими, так что пространство на сервере сохраняется, и каждый разработчик при клонировании из hi fork на своем локальном компьютере получает все данные.
Интересно, можете ли вы связать каталог '.git/objects' в клонах с каноническим. Может быть, попробовать это на фиктивном репо в качестве эксперимента? –
Это не то, что я хочу. В любом случае папка объектов канонических будет отличаться от папки с именами пользователей. Пользовательские вилки будут иметь все объекты канонического, а также некоторые из их собственных объектов. –
Нельзя также вредить сохранению объектов пользователей в каноническом репо. Они были бы «невидимыми» для канонического, если в каноническом отношении нет ссылок на них. –