0

Я работаю над расширением Safari. Я использую ветку Dev и Beta на Git. Каждая ветка имеет свой собственный интерфейс и хостинг, поэтому каждый имеет свой собственный доступ, огороженный друг от друга.Рабочий процесс Git для создания расширения Safari

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

Но Safari, кажется, возится с переключателем файла plist. Он сохраняет предыдущие параметры случайным образом. Что по очереди означает, что я должен тратить время на то, чтобы все было так, как должно.

Какова наилучшая настройка/рабочий процесс, чтобы ограничить взаимодействие с параметрами dev и prod?

ответ

1

Пока я не могу прокомментировать свой рабочий процесс для расширений Safari, как я никогда не делал это сам ... Я могу сказать вам, как я предпочитаю работать с мерзавцем ...

  • I иметь ведущую ветвь, которая всегда развертывается.
  • У меня тогда есть ветка от мастера (моя ветка развития), которая является моей веткой интеграции развития.
  • Я открываю филиалы с этой ветвью развития (по одной на каждую функцию)
  • Релизы завершаются путем слияния моей ветви разработки с мастером (после много-много тестов), а затем пометки фиксации там, где это было сделано (Я использую поток git, поэтому он делает большую часть этого для меня)
  • Фиксированные ветви фиксируются и обрабатываются. Когда исправление завершено, мастер объединяется. Затем он объединяется в мою ветку разработки и мою основную ветку.
  • Что касается вашей бета-отрасли, я не совсем уверен, почему у вас это есть (не зря, я действительно это подразумеваю). Я бы подумал, что отрасль развития будет более или менее достигать того же самого?

В любом случае, вы можете зарегистрироваться Atlassian's great article on git flow. Если вы используете Source Tree или Smart Git, у них есть поддержка gitflow, которая довольно аккуратная.

+0

благодарит за ваши советы; У меня аналогичная настройка - моя основная проблема, похоже, заключается в том, что параметры (имя пользователя, пароли, URL-адреса и т. Д.) Для внешних служб различаются по двум различным ветвям. – jrgd

+0

Итак, во-первых, у вас не должно быть разных ветвей для разных сред (то есть, не имеет значения, какой набор учетных данных существует, потому что ваше приложение должно просто переключаться между ними автоматически, обнаруживая среду). Во-вторых, на самом деле вы не должны иметь эту информацию в управлении версиями. Вместо этого используйте вместо этого переменные окружения. – lenswipe

+0

точно; diff для разных сред: настройки находятся в файле plist расширения Safari, файл отслеживается. Моя проблема заключается в том, когда я переключаю ветку: файл plist переключается на текущий файл ветки (это предполагаемое поведение), но не в Safari Extension Builder, поэтому он строит с неправильными настройками ... – jrgd