Git -> Контроль версий для 3 отдельных путей кода - PullRequest
0 голосов
/ 06 июня 2019

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

У меня есть автоматизированная система тестирования для тестирования аппаратных устройств с использованием нескольких инструментов и проприетарного (устаревшего) программного средства автоматизации.

Программный инструмент использует текстовый файл, чтобы обрисовать в общих чертах все тестовые случаи, которые необходимо охватить, и способы их тестирования, и этот файл использует определенный синтаксис.

Однако мы используем одну аппаратную платформу для нескольких продуктов, каждый из которых имеет небольшие отличия от одного к другому (т. Е. Частотные варианты. Ради аргумента, представьте, что мы меняем определенные слова в тестовом файле на разные синонимы, основанные на географическом местоположении. В Северной Америке мы используем слово «Спасибо!», если мы продаем в Великобритании, мы используем «Cheers!», если мы продаем в Канаде, мы используем «Regards».

По мере разработки кодовой базы для различных сценариев тестирования существует несколько файлов>

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

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

К сожалению, мы не можем позволить всем файлам сосуществовать в одной и той же папке, иначе наша автоматизированная система увидит конфликты.

Итак, я пытаюсь это сделать:

Отличное git-репо для TestDefinitions Файлы определения теста будут храниться в папке с соответствующим именем - Transmit_Test.txt - Receive_Test.txt - Compliance_test.txt

Тогда в основном есть разные ветви для каждого варианта частоты - Мастер (универсальный шаблон) - частота_1 - частота_2 - частота_3

тогда, если мне нужно выполнить тест для продукта, который является другим вариантом, я просто проверяю ветку difnet.


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

Есть ли более эффективный способ сделать это? Я понимаю, что я не использую Git так, как он был спроектирован, и я боюсь, что у нас может быть 3 ветви, расходящиеся друг от друга, и там могут случайно слиться вещи, которые мы не должны.t

Должен ли я оставить это как есть и управлять изменениями независимо? Должен ли я создать 3 разных репо?

Должен ли я вернуться к копированию и вставке?

1 Ответ

1 голос
/ 07 июня 2019

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

Before

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

Например, вам нужно добавить общую функцию 4 в вашу ветку частоты 2, вы могли бы сделать что-то вроде этого:

$ git checkout frequency2
$ git cherry-pick 8552d2ba # ID, branch or tag of the common feature to pick

Результат будет

enter image description here

Таким образом, вы можете быть избирательными в отношении того, чтоидет к вашим частотным веткам, сохраняя их независимыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...