Я создаю конвейер непрерывной интеграции на основе репозитория git.
У меня есть 3 ветви:
- основная ветка для среды разработки
- ветка test для тестовой среды
- ветка prod для среды prod
При каждом обновлении ветки конвейер обновляет мой веб-сайт, например:
Каждый раз, когда я выпускаю новую версия, я обновляю основную ветку и помечаю коммит номером версии:
# procedure for deploy on dev
git add -A
git commit -m "1.0.0"
git tag 1.0.0
git push --set-upstream origin master --tags
Это работает ...
Когда я хочу поместить версию 1.0.0 в тестовую среду, это это процедура
# procedure for deploy on test
git fetch --tags origin
git checkout -B test
git merge 1.0.0
git push --set-upstream origin test
Это работает ... но эта процедура не работает при откате, если тестовая ветвь имеет версию 2.0.0, фрагмент кода d Откатить ветку на версии 1.0.0. Если я сделал:
git show-branch *test
, то выходное шоу:
! [refs/remotes/origin/test] 2.0.0
* [test] 2.0.0
--
+* [refs/remotes/origin/test] 2.0.0