Разбить репозиторий на «суб-репозитории», сохранив удаленный доступ к внешнему репозиторию - PullRequest
1 голос
/ 27 апреля 2020

Мой основной проект разработчика - это «полное преобразование» игры под названием NAEV. Мой T C назван So C (сокращение от "Stars of Call"), который установлен в совершенно другой вселенной от NAEV, но использует исходный код игры как есть. С моими ограниченными C способностями я иногда протягиваю руку к NAEV . Он написан на C и в основном имеет две подпапки : sr c (C источник) и дата (данные XML / Lua) .

NAEV хранится на GitHub, в его хранилище с именем naev / naev , , которым я не владею . У меня есть мой собственный клон Mutos / naev на GitHub, который я синхронизирую с naev / naev. Для этого я использую локальный репозиторий с origin , указывающим на Mutos / naev и upstream на naev / naev, как в https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork.

Итак, я развиваю So C, пытаясь поддерживать источник с NAEV и сосредотачиваясь на данных, которые описывают вселенную So C. Таким образом, проблема в том, что So C должен иметь ту же папку sr c, что и NAEV, но папку совершенно другую dat .

На данный момент, Я вручную синхронизирую папку So C sr c с папкой NAEV sr c. Но это означает, что я теряю историю коммитов и не могу постепенно адаптировать свои данные в соответствии с развитием NAEV, коммитом за коммит. Итак, C всегда отстает от NAEV, и каждый раз, когда я хочу обновить. Итак, C sr c, мне трудно адаптировать мои данные.

Я хочу настроить третий репозиторий для So C с именем Mutos / So C, , чья папка sr c будет следовать за NAEV sr c, тогда как его папка dat будет полностью независима от папки данных NAEV.

Как этого достичь? Обратите внимание, что я не очень опытен в GitHub, потому что я использую его только изредка. Так что мне понадобятся объяснения, которые будут понятны для понимания уровня n00b ^ - ^

Спасибо за любую подсказку!

1 Ответ

0 голосов
/ 30 апреля 2020

Это может быть не то, что вы ищете, но вы можете рассмотреть:

  1. Добавление git подмодулей или ...
  2. Перемещение каталогов под тем же родителем git directory

Go в инициализированном репо git, где вы хотите хранить другие репо. Затем, внутри того же каталога, используйте:

git submodule add <repo url>

Например,

git submodule add https://github.com/rust-lang/rust.git

Чтобы найти URL репо, перейдите на главную страницу репо и нажмите «клонировать или загрузить», "затем скопируйте ссылку.

Если это не репо git, вы не можете добавить эти каталоги в тот же репо git. Каждый включаемый вами каталог должен быть подкаталогом инициализированного каталога git. Если они были, то вы можете использовать:

git add <directory path>

Например,

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