Intereting Posts
Почему в моем Qt Creator отсутствуют меню управления версиями? DVCS: Единый репозиторий управления на разных языках программирования? Как управлять локальным хранилищем git с помощью Rubberduck Есть ли способ заменить специальные символы в ссылке websvn, сгенерированной плагином Jira Subversion Mercurial .hgignore для проектов Visual Studio 2013 Могут ли Perforce и SourceSafe сосуществовать в Visual Studio? Объединение помеченного фиксации в ветвь Возможно ли, чтобы исходный код нескольких компонентов размещался под одной магистралью в Git, как в SVN? Каковы преимущества использования Perforce вместо Subversion? Как меняются базы данных с использованием AccuRev Database? Лучший способ переустановить и слить все изменения с другого филиала Загрузка одного каталога из Git с использованием Subversion Мониторинг сайта для ежедневных изменений и электронной почты Объединить две ветви svn в новую третью ветку? Настроить пути ссылки на проект на нескольких машинах

Управление ветвями в подрывной деятельности

Я не думаю, что я делаю что-то правильно. Я использую subversion как мой vcs для нашего сайта организации. Я – единственный разработчик, и я использую bugzilla в качестве моей системы отслеживания ошибок. У меня bugzilla и svn слабо связаны с использованием свойств bugtraq, поэтому я могу связать свои комментарии с bugzilla. То, что я делаю прямо сейчас, – это когда я получаю запрос на выполнение любой работы на веб-сайте (улучшение, разрыв, изменение содержимого). Я создаю ошибку [xx] в bugzilla, затем создаю ветку с именем bug [xx]. После того, как я завершу задачу, я вручную экспортирую изменения ветви на наш бета-сайт, изменение проверяется и проверяется, затем я объединяю ветку обратно в тубу, указывающую на ошибку #, используя свойство bugtraq.

Это работает очень хорошо, кроме случаев, когда у меня более одного или двух изменений. Если я создал 10 ветвей для десяти рабочих запросов, я хочу знать, как легко определить, какие из них уже объединены в багажник, а какие нет. Если я должен использовать свойство mergeinfo, которое кажется сумасшедшим …

Я не хочу переключаться с подрывной деятельности, поэтому не предлагайте этого.

Solutions Collecting From Web of "Управление ветвями в подрывной деятельности"

Почему бы вам просто не удалить ветвь, когда она была реинтегрирована в багажник? Это то, что вы должны делать (в общем случае), когда филиал функции был реинтегрирован. Таким образом, диагностика проста: если ветвь существует, она не была реинтегрирована.

Ваш рабочий процесс кажется мне очень хорошим. Однако, после того, как вы слились обратно в багажник, вам больше не нужна ветка ошибок, поэтому удалите ее. Таким образом, у вас будет только количество ветвей, как открытые ошибки.

Вы всегда можете вернуть ветку, если вам нужно, но это не будет мешать.

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

  1. Когда вы разрабатываете новую функцию, которая может занять много времени (ветвь функции) и
  2. Если вы хотите сохранить свою последнюю выпущенную версию (Release Branch).

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

предпочтительная ветвящаяся структура

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

Итак, я предлагаю вам иметь только одну ветвь, называемую ветвью релиза. Когда вы получите ошибку, внесите изменения в свою линию разработки. Когда тестирование будет выполнено, вы можете объединить изменения в строку выпуска. Таким образом, вы можете освободить только те функции, которые вы хотите. Кроме того, взглянув на историю выпуска, вы можете найти, какие изменения были объединены в вашу линию выпуска.