После некоторой документации я нашел изящный учебник здесь
Загрузка изменений файла на удаленном LIVE (без передачи его истории изменений, которые были сделаны после выпуска) невозможно, если я не работал над упомянутыми изменениями в другой ветке, чем в master.Я должен был создать ветку dev на пульте DEV .Ветвь master должна была быть той, к которой мы обращались только еженедельно (поэтому оставались нетронутыми в течение 7 дней, за исключением слияний исправлений).
ХотяПри передаче функций в ветку dev могут возникнуть некоторые исправления, которые потребуют немедленного слияния с веткой release (master).Следовательно, для ветви соответствующего выпуска должна быть создана отдельная ветвь hotfix-nameOfHotfix из ветки release (aka master ).Как только файл был изменен, только основные изменения могут быть объединены с мастером, без нажатия на код, который еще не подходит для текущего выпуска.
- Еще раз, исправление ## ветвь должна появляться только из ветви master .
- ветка master пульта DEV должна всегда (10) отражать master * пульта LIVE на пульте дистанционного управления.1026 * филиал.
Мне потребовалось некоторое время, чтобы понять, что Git знает, куда помещать изменения в файл, независимо от того, существует ли более одного кодера, работающего с одним файлом;конфликт может возникнуть, если оба кодировщика будут работать с одной строкой соответствующего файла.
Итак, в вопросе, который я разместил, у меня на удаленном устройстве DEV будет 3 ветви: - dev (с бесконечнымвремя жизни) - мастер (с бесконечным временем жизни) - исправление ## (ограниченное время жизни) - после того, как каждое исправление будет завершено, оно будет объединено с главной веткой пульта LIVE и главной веткой пульта DEV.
Опция 1:На пульте LIVE имеется только ветвь master .(в котором ветвь dev от удаленного устройства DEV объединена.)
Вариант 2: ветвь dev от удаленного устройства DEV также может быть объединена на устройствах DEV мастер филиал;тогда я могу скопировать эту ветку master на удаленный LIVE)