Вопрос о Гитхабе

Denixxx

Мой дом здесь!
Регистрация
7 Фев 2014
Сообщения
244
Реакции
216
Здравствуйте.
Прошу откликнуться знатоков Гитхаба.
Есть 2 проекта — 1 базовый, другой расширенный.
Первый проект самостоятелен.
Во втором проекте примерно 50% кода первого, почти без изменений.
Остальное — в первом проекте не используется.
Как вести на Гитхабе второй проект, чтобы туда автоматом инклюдился, как библиотека, первый проект, со всеми изменениями? Сейчас копирую всё, но при обновлении проекта № 1 сложно отслеживать связи.
Хотелось бы автоматом.
 
Git поддерживает submodules.
Т.е. папки можно сделать "ссылками" на другой проект.
 
Git поддерживает submodules.
Т.е. папки можно сделать "ссылками" на другой проект.
Мне кажется, это всё-таки не субмодуль. Я не могу запихнуть проект ссылкой в папку, она главная и для другого проекта.
Скорее, симлинки должны быть не на проект, а на конкретные файлы и папки другого проекта.
Такое возможно?
 
А вот над этим вопросом сам думаю уже давно. Присоединяюсь к обсуждению.

Здесь Для просмотра ссылки Войди или Зарегистрируйся подробно описаны возможные решения проблемы.
Я думаю более простых решений пока нет.
 
Последнее редактирование модератором:
Я думаю более простых решений пока нет.
Главное чтоб оно было. А уж описать файлы проекта, автоматизировать с помощью бат-файла или другого скрипта уже можно, ведь делаем 1 раз.
По ссылке, я правильно понял — вести в 1 репо ветки?
А как тогда из базовой системы коммитить изменения в другую?

//Upd 1
И мне всё равно кажется что это не выход.

Мне кажется как-то так должно быть:
1. Базовый и расширенный репозиторий связываются таким образом, что совпавшие файлы коммитятся в оба репо.
2. Делается список исключений файлов — какие файлы даже если совпали, всё равно считаются разными.
3. Теперь коммитим в базовый или в основной функционал — если файлы «базовые», попадают в оба репо.

Теперь не важно будет, с каким репозиторием работаем — оба получают изменения в базовом функционале
Ну вот, определились кажись. Теперь надо подумать — как? Хотелось бы средствами гита самого, но если нельзя им, то шеллом.

//Upd 2
Причём если пп. 2 и 3 ясно как делать (2 — .gitignore, 3 — следствие 1 и 2), то п.1 пока не понятно как.

//Upd3
Читаю интерактивный курс по Гит. Кажется то что нужно может делать команда Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
не понял 100% что нужно, но возможно такое решение подойдёт:

/.гит - мой проэкт -настроен под мой гит.
/либ-1/.гит - и настроен на вытаскивание обновляемого проекта

т.е. когда нужно обновить базу, то делаю это с папки /либ-1/
когда занимаюсь своим проектом, то работаю с корня.

Это то, что ты хотел?
 
/.гит - мой проэкт -настроен под мой гит.
/либ-1/.гит - и настроен на вытаскивание обновляемого проекта

т.е. когда нужно обновить базу, то делаю это с папки /либ-1/
когда занимаюсь своим проектом, то работаю с корня.
Нет, не то.
Нужно вести 2 репозитория в 1 папке, но при этом не менять структуру файлов.
Кажется, с Гитом это невозможно.
 
Вариант бранчей подходит?
добавить 2 удалённых репозитория:

бранч - база - базовый - обновляеммый
мастер - для своей разработки...

когда хотим обновить, то переходим на бранч база, делаем пулл с второго удалённого репозитория.
переходим на мастер,
делаем merge с базой.

подойдёт?
 
И каждый раз гит будет при переходе с ветки на ветку сносить и восстанавливать пол-движка?
Это не кошерно как-то.
К тому же мы не достигнем первоначальной цели: если в проекте № 1 обновились файлы, они должны будут автоматом обновиться и в проекте №2.
 
Последнее редактирование:
и да и нет :) да, так как он будит временно прятать главное состояние, если проэкт живой, то на сервере не стоит этого делать, но можно на компе разработчика..
при merge гит будит склеивать обновление и рабочую систему
 
Назад
Сверху