Я новичок git, поэтому мне может быть что-то неявное.Обменная часть git repo
У меня есть локальный GIT репозиторий в таком виде
/.git
/Project-1/
/Project-2/
/Project-3/
/Project-4/
...
/Project-x/
...
/Project-y/
....
/Shared-Code/
Каждый проект представляет собой плагин для программы хоста. Разработчики этой программы хотят включить 2 моих плагина в выпуск своего продукта. С этой целью они предоставили репозиторий github для размещения моего кода. Проблема в том, что я хочу только загрузить/Project-x,/Project-y и/Shared-Code.
Я смотрел здесь и в другом месте. Самое близкое, что я мог найти, предположил, что у меня действительно должно быть 2 РЕПО. Я не против иметь 2 РЕПО. Мне все равно, сохраняют ли они те же истории изменений, хотя было бы неплохо, если бы они это сделали.
Я мог бы легко скопировать/Project-x,/Project-y и/Shared-Code в новое место и создать новое репо. Мой вопрос: лучше ли мне копировать или использовать символические ссылки? Или есть более «git» способ сделать это?
Способ git состоит в том, чтобы иметь несколько репозиций, каждый из которых имеет один проект. вы можете иметь суперрепозиторий, содержащий другие репозитории, например, с использованием подмодулей git. –
Звучит интересно. Таким образом, общий код будет отдельным репо? У вас есть предложение, как я могу сохранить свою историю изменений, если я перейду в отдельные репозитории? – rpatters1
Я бы поместил общий код в какую-то библиотеку, которую я бы использовал в отдельном репозитории git. этот git-репо затем может быть включен в репозитории приложений, например, с использованием git-подмодуля. Если вы хотите разбить существующий репозиторий на основе каталогов и сохранить историю, вам понадобится 'git filter-branch'. Я приглашаю вас искать stackoverflow, есть несколько очень хороших ответов на это. –