Как слить тег в ветку? - PullRequest
0 голосов
/ 10 апреля 2020

Я создаю конвейер непрерывной интеграции на основе репозитория git.

У меня есть 3 ветви:

  • основная ветка для среды разработки
  • ветка test для тестовой среды
  • ветка prod для среды prod

При каждом обновлении ветки конвейер обновляет мой веб-сайт, например:

  • при создании пу sh в главной ветви, обновление конвейера https://dev.website.com
  • при создании пу sh в тестовой ветви обновление конвейера https://test.website.com
  • при создании pu sh на ветке prod, обновление конвейера https://prod.website.com

Каждый раз, когда я выпускаю новую версия, я обновляю основную ветку и помечаю коммит номером версии:

# 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

1 Ответ

2 голосов
/ 10 апреля 2020

можно попробовать сбросить ветку и после пу sh это

git reset --hard <tagname>
git push -f -u origin branch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...