Клонированная часть Git-репо в другом репо - PullRequest
1 голос
/ 12 ноября 2010

У меня есть один репозиторий, который содержит некоторые служебные функции в одном файле . Я хотел бы каким-то образом добавить этот файл в другое хранилище , сохранив ссылку на старый (чтобы я мог нажимать / вытягивать, чтобы быть в курсе этого), сохраняя при этом все остальные файлы. Цель состоит в том, чтобы тот, кто извлекает второе хранилище, также получал вспомогательные функции без необходимости возиться с несколькими репозиториями. Это возможно, например, с cherry-pick или с каким-то специальным синтаксисом remote / clone, или мне нужно перенести служебные функции в отдельное хранилище?

Редактировать: похоже на Частичное совместное использование репозиториев git и GitHub's Работа с объединением поддеревьев может иметь значение; проверяя их.

Редактировать 2: После прочтения о слиянии поддеревьев, похоже, что это сработает, если я смогу просто найти "идентификатор объекта (ов) дерева, который будет считан / объединен", как упомянуто git help read-tree , Это просто идентификатор фиксации?

1 Ответ

2 голосов
/ 12 ноября 2010

Объекты дерева не совпадают с коммитами. Дерево по существу представляет собой каталог. Коммит будет содержать дерево, представляющее рабочее дерево; это дерево может содержать другие деревья (подкаталоги), а также BLOB-объекты (содержимое файлов).

Вы можете найти нужное дерево SHA1, используя git ls-tree в каталоге:

$ git ls-tree HEAD Documentation/howto
040000 tree 7f4e8e870f2e4e7682a344e9a305f065388553e2    Documentation/howto

И, возможно, вы захотите взглянуть на git-subtree , в котором многие из этих вещей хорошо и дружелюбно оборачиваются.

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