Делая все возможное, чтобы упростить задачу, у меня есть программа, которая просматривает систему создания билетов и автоматически создает необходимые файлы, необходимые для работы с запросом на получение билетов.
Эти файлы добавляются в репозиторий git, каждый день для этого дня будет создаваться новая папка. Хранилище будет выглядеть так ..
Мастер филиал
11/01/2018> платформа> RequestXXX (несколько папок)> файлы
11/02/2018> платформа> RequestXXX (несколько папок)> файлы
и т.д ..
Теперь, чтобы разработчик выполнил свою работу, я создаю ветки, основанные на запросах.
Запрос 1-10 функциональных веток
11/01/2018 / платформа / RequestXXX (несколько папок) / файлы
11/02/2018 / платформа / RequestXXX (несколько папок) / файлы
и т.д ..
Чтобы получить файлы в мастер:
git clone
git add (создаст новую папку каждый день)
git commit -a
мастер git push origin
Затем для создания ветвей объектов:
git checkout -b REQnumber (я перебираю запросы и передаю номер REQ)
git push - set-upstream origin REQnumber
Теперь сложная часть:
Разработчик войдет в ветку REQUEST1 и отредактирует REQUEST1 в этой ветке.
Разработчик войдет в ветку REQUEST2 и отредактирует REQUEST2 в этой ветке.
Эти изменения вносятся в ссылку на удаленное хранилище, а не локально, в этом случае я использую TFS (сервер Team Foundation)
Как я могу вставить эти две ветви по одной в мастер, не сталкиваясь постоянно с конфликтами? Если я сливаюсь в REQUEST1 с мастером, то REQUEST2 не содержит изменений REQUEST1, что приводит к конфликтам. Есть также несколько других сценариев, в которых я пытаюсь обойти ..
какие команды я пытался объединить.
мастер проверки git
git pull origin REQnumber (чтобы внести изменения, сделанные на удаленном компьютере)
git merge REQnumber --no-edit
git push origin master
git branch -d REQnumber