мы недавно переключились от SVN до Мерзавца, и в то же время помещает наши живые системы в управление версиями (вместо локального контроля и копии файла для проживания).
На проекте меня присваивают, все мы получаем доступ к тому же репозиторию и получить изменения в живой мы просто git pull
там. Это вызывает проблемы, потому что наши веб-дизайнеры продвигают изменения в VCS, который еще не должен быть живым, но должен быть на веб-тестовой среде.
Когда один из разработчиков теперь вытягивает в живой, он получает все (возможно незаконченный) изменения.
Я думал о переключении живого к дополнительному ответвлению, и просто объедините то, что изменилось, но из-за моего отсутствия знаний мерзавца я понятия не имею как.
Моя идея:
git branch live
).git checkout master; git pull; git checkout live
)git merge master
Проблема состоит в том, что переключение на ведущее устройство или получение по запросу всего непосредственно в живую систему вызвали бы проблемы, таким образом, я предпочту избегать этого.
Есть ли любой способ сделать это или там любой лучший способ управлять Живой системой (за исключением обучения webbies для не продвижения незаконченного материала).
Можно использовать git stash
перед проверкой ведущего устройства и получением по запросу, и после проверки живого снова используют git stash pop
(или если Ваш мерзавец старше, git stash apply
и git stash clear
принятие Вас не спрятало ничто больше),
Решите проблему сначала. Они не должны продвигать к ответвлению, к которому у них нет продвижения бизнеса.
То, что Вы, кажется, спрашиваете, было бы чем-то как
git checkout live
git pull origin master
Это будет делать попытку слияния удаленного ведущего устройства и Вашего живого ответвления.
Я рекомендую создать мерзавца тестирования repo, чтобы все фиксировали. Весь repos, включая Ваш живой веб-сайт будет клонами тестирования repo. Этим способом любой может продвинуть к тестированию, не касаясь живого веб-сайта. Когда кто-то должен обновить живой сайт, затем можно вытянуть живой сайт от мерзавца, тестирующего repo. Этот рабочий процесс довольно подобен SVN. Для дополнительной гибкости я рекомендую использовать "живое" ответвление, которое Вы описываете.
Подводя итоги, общий мерзавец repo является клоном тестирования repo. Живое место производства является просто клоном тестирования repo также. С другой стороны, тестирование могло быть клоном живого prodcution так, чтобы "нажатие мерзавца" всегда перемещалось к производству.
Другие опции включая добавление "живого" ответвления к этому расположению или включая "подготовку" repo между тестированием и производством. Для дополнительной безопасности я рекомендую ограничить доступ к живому мерзавцу repo и вынудить людей использовать защищенный сценарий, который делает получение по запросу для проживания производства.