Я разрабатываю раму для использования в моих проектах; тем не менее, разработка структуры может зайти так далеко без контекста: то есть мне нужно начать использовать ее в реальных проектах и конкретно посмотреть, что Мне нужно добавить, исправить или настроить (возможно, что-то, что работало в тестовой среде не работают для реальной ситуации, или некоторые вещи не имеют смысла, или я хочу добавить функции).Разделить хранилище git для работы над двумя проектами одновременно
Прежде всего, так как Framework явно незавершенное, я должен быть уверен, что она обновляться в режиме реального жизненного проекта в другой части, так что я могу вернуться в рамки , отредактируйте его, зафиксируйте, вернитесь в Real-life Project Framework Framework внутри, продолжайте работать с проектом.
Во-вторых, мне действительно хотелось бы достичь этого, не выполняя переход к проекту. Я имею в виду, что я хотел бы иметь возможность редактировать Framework в пределах Реальный проект и нажимать эти коммиты на Framework репозиторий.
Теперь я знаю, что инструменты для достижения этого, скорее всего, являются git submodule
и git subtree
, но оба они довольно сбивают с толку. Субмодуль, в частности, кажется, что он больше ориентирован на подход только для чтения (например, постоянно обновляйте ваши библиотеки): это удовлетворит мое первое требование, но не второе.
Любые указатели на то, как достичь этого с помощью Git и как будет выглядеть рабочий процесс?
Может быть, лучший способ, но когда вы вынуждены использовать одно репо, я выполнял работу над проектом в ветке, которая периодически сливалась обратно в мою основную ветку проекта. Это не безболезненно и не идеально, но оно может работать. Поскольку рабочие процессы идут, проще, если вы используете графический git-клиент. – mah
в подобных ситуациях я просто использовал два формально независимых репозитория и поместил их в игнорируемую подпапку другого – mnagel
. Для второго требования вы можете проверить скрипт git-work-dir, который доступен в каталоге contrib исходного кода git. (через символических ссылок, этот скрипт создает новый рабочий каталог, имеющий общую историю с оригинальным хранилищем: ГИТ-новой WorkDir/существующий/репо новый/каталог Новый каталог и файлы внутри можно рассматривать как клон, за исключением того, что история разделяется, два дерева автоматически синхронизируются. Нет необходимости сливаться, нажимать или тянуть) – Shunya