Вытяните для другого ответвления Мерзавца без переключения

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

На проекте меня присваивают, все мы получаем доступ к тому же репозиторию и получить изменения в живой мы просто git pull там. Это вызывает проблемы, потому что наши веб-дизайнеры продвигают изменения в VCS, который еще не должен быть живым, но должен быть на веб-тестовой среде.

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

Я думал о переключении живого к дополнительному ответвлению, и просто объедините то, что изменилось, но из-за моего отсутствия знаний мерзавца я понятия не имею как.

Моя идея:

  • Создайте новое Ответвление в живом (git branch live).
  • Каждый раз что-то должно пойти живое
    • Вытяните изменения в ведущем устройстве (как: git checkout master; git pull; git checkout live)
    • git merge master

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

Есть ли любой способ сделать это или там любой лучший способ управлять Живой системой (за исключением обучения webbies для не продвижения незаконченного материала).

55
задан 24.07.2010, 19:50

3 ответа

Можно использовать git stash перед проверкой ведущего устройства и получением по запросу, и после проверки живого снова используют git stash pop (или если Ваш мерзавец старше, git stash apply и git stash clear принятие Вас не спрятало ничто больше),

21
ответ дан 07.12.2019, 08:23

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

То, что Вы, кажется, спрашиваете, было бы чем-то как

git checkout live
git pull origin master

Это будет делать попытку слияния удаленного ведущего устройства и Вашего живого ответвления.

5
ответ дан 07.12.2019, 08:23

Я рекомендую создать мерзавца тестирования repo, чтобы все фиксировали. Весь repos, включая Ваш живой веб-сайт будет клонами тестирования repo. Этим способом любой может продвинуть к тестированию, не касаясь живого веб-сайта. Когда кто-то должен обновить живой сайт, затем можно вытянуть живой сайт от мерзавца, тестирующего repo. Этот рабочий процесс довольно подобен SVN. Для дополнительной гибкости я рекомендую использовать "живое" ответвление, которое Вы описываете.

Подводя итоги, общий мерзавец repo является клоном тестирования repo. Живое место производства является просто клоном тестирования repo также. С другой стороны, тестирование могло быть клоном живого prodcution так, чтобы "нажатие мерзавца" всегда перемещалось к производству.

Другие опции включая добавление "живого" ответвления к этому расположению или включая "подготовку" repo между тестированием и производством. Для дополнительной безопасности я рекомендую ограничить доступ к живому мерзавцу repo и вынудить людей использовать защищенный сценарий, который делает получение по запросу для проживания производства.

0
ответ дан 07.12.2019, 08:23

Теги

Похожие вопросы