Вот мой контекст:
- I have a software with 20 vesion, each version represents( is the same) a branch in my git repo.
- У меня есть две команды, одна локальная и одна удаленная.
Вот мои ограничения:
- Local team have full access to the repo.
- У удаленной команды есть ограниченный доступ к 15-й версии (15-я ветвь)
- Команда Remoe не может иметь доступ к истории до 15-й ветки
- У удаленной команды нет доступа к работе с локальной темой
- удаленная команда имеет доступ только к своей работе
Вот предпосылка:
- Would be awesome if the local team could be able to merge from remote team code, with minimum conflicts pain.
Что я пробовал?
1-й я создал форк из репо, и я гарантировал, что мастер будет только до 15-й версии. Некоторый мастер и 15-я ветвь являются некоторой версией кода. Проблема в этом решении: удаленная команда по-прежнему имеет доступ ко всему репо, истории и коду.
2. Создайте новое репо, начиная с 15-й ветки. Проблема в этом случае будет заключаться в том, когда локальная команда выполняет слияние удаленной команды с локальной командой кодов.
До сих пор я бы придерживался второго варианта, даже если у меня есть проблемы со слиянием.
Итак, у кого-нибудь есть лучшее решение или более элегантное?
На самом деле надежда заставила меня объясниться.
=====================================
Я выполнил эти команды:
git clone --mirror --depth 1 --branch release/v15 https://[email protected]/old_repo.git
cd old_repo
git push --mirror https://[email protected]/new_repo.git
Чем я получил это сообщение:
C:\old_repo>git push --mirror https://[email protected]/new_repo.git
Password for 'https://[email protected]':
Counting objects: 131, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (95/95), done.
Writing objects: 100% (131/131), 9.72 MiB | 238.00 KiB/s, done.
Total 131 (delta 28), reused 131 (delta 28)
To https://[email protected]/new_repo.git
! [remote rejected] release/v15 -> release/v15 (shallow update not allowed)
error: failed to push some refs to 'https://[email protected]/new_repo.git'
Что мне делать?
мелкое обновление не разрешено