2016-04-02 3 views
0

Я рассматриваю возможность использования соглашений об именах (например, QA, PROD, SERVER1) и перехватывает теги GIT, чтобы пользователи могли развернуть файлы конфигурации в определенных средах и пулах серверов. Это потребует, чтобы пользователи «перемещали» свои теги всякий раз, когда новый набор файлов должен быть развернут в заданную среду. К сожалению, при перемещении тегов, похоже, поддерживается через CLI, пользовательский интерфейс Github этого не позволяет.Перемещение тегов в Github UI

Есть ли способ сделать это через интерфейс Github? В качестве альтернативы, любые предлагаемые альтернативные подходы к достижению того же, было бы здорово. Я мог бы использовать соглашения о ветвях и триггеры hook-push-hook вместо соглашений о тегах, но я чувствую, что это уменьшает гибкость пользователя и может также запутаться, если слишком много ветвей.

Заранее благодарен!

ответ

1

Shared аннотированный Git теги, как те, которые вы видите на GitHub aren't meant to be moved:

Но если вы нажимали вещи из (или другие, могли бы просто прочитать ваше хранилище непосредственно), то другие уже видели, старый тег. В этом случае вы можете сделать одну из двух вещей:

  1. Здоровая вещь. Просто признайтесь, что вы испорчены и используете другое имя. Другие уже видели одно имя тега, и если вы сохраняете одно и то же имя, вы можете быть в ситуации, когда у двух людей есть «версия X», но у них фактически есть разные «X». Поэтому просто назовите его «X.1» и сделайте с ним.

  2. Сумасшедшая вещь. Вы действительно хотите назвать новую версию «X» тоже, , хотя другие уже видели старую. Так что просто используйте git tag -f, как будто вы еще не опубликовали старый.

Вы можете перемещать их, но это может легко привести к путанице, и я настоятельно рекомендую против него. Обратите внимание, что официальная документация доходит до того, что эта опция называется «безумной». Some tools won't work as expected when tags are modified.

С другой стороны, branches предназначены для передвижения. Создайте ветвь для каждой среды, которую вы хотите представить, и сохраните ее, в идеале, с быстрыми слияниями, чтобы вам никогда не приходилось что-то принуждать.

Я не верю, что веб-интерфейс GitHub может сделать это сам. Я думаю, вам придется использовать какой-то другой инструмент (возможно, любой клиент, которого вы уже используете локально).

Смежные вопросы