Це працює з нашими бібліотеками, на яких працює GIT v1.7.1, де у нас є репо пакет DEV та репо пакет LIVE. Самі сховища - це не що інше, як оболонка для пакування активів для проекту. всі підмодулі.
LIVE ніколи не оновлюється навмисно, проте файли кешу або аварії можуть статися, залишаючи РЕПО брудним. Нові підмодулі, додані до DEV, також повинні бути ініціалізовані в межах LIVE.
Репозиторій пакетів у DEV
Тут ми хочемо здійснити всі зміни, які ще не знаємо, тоді ми оновимо наше сховище пакетів.
# Recursively reset to the last HEAD
git submodule foreach --recursive git reset --hard
# Recursively cleanup all files and directories
git submodule foreach --recursive git clean -fd
# Recursively pull the upstream master
git submodule foreach --recursive git pull origin master
# Add / Commit / Push all updates to the package repo
git add .
git commit -m "Updates submodules"
git push
Репозиторій пакетів у прямому ефірі
Тут ми хочемо витягнути зміни, які вносяться до сховища DEV, але невідомі зміни вгору.
# Pull changes
git pull
# Pull status (this is required for the submodule update to work)
git status
# Initialize / Update
git submodule update --init --recursive
git reset --hard
це не працює, спершу спробуйте вказати віддалену гілкуgit reset --hard origin/<branch_name>
.