Мы работаем над нашими проектами локально и развертываем их на удаленных серверах для тестирования. В настоящее время это делается с помощью git commits / push / pulls. Но проблема здесь в том, что большая часть фиксации содержит ошибки и / или существенно нарушает код из-за отсутствия тестирования.
Есть ли способ развернуть код на удаленном сервере без использования коммитов git, каких-то временных коммитов, патчей или любого другого механизма? И совершайте только тогда, когда это важно.
Использовать ветви!
Например.
Создать развиваться ветка, в которой вы и ваша команда обычно работаете, может содержать ошибки, даже незаконченный код.
Затем создайте релиз ответвление от развиваться филиал. Теперь вы можете зафиксировать код в этой ветке, чтобы привести программное обеспечение в стабильное состояние, чтобы тестировщики могли с ним работать. Конечно, нельзя снова объединить ветвь разработки с веткой выпуска.
Как только ваше программное обеспечение в ветке выпуска станет стабильным и тщательно протестированным, объедините релиз перейти в мастер ветку, а затем обратно в развиваться филиал. После этого просто удалите ветку выпуска.
После этого рабочего процесса ...
Вам следует всегда поощряйте совершение часто, не отчаивая его.
У вас должно быть несколько веток на вашем сервере git, по крайней мере, dev / staging / production, чтобы справиться с этой ситуацией. Google "рабочий процесс разработки", и вы найдете несколько примеров.
Наконец, вы должны посмотреть на серверы CI, например Дженкинс
Абхишек, это похоже на человеческую проблему, не проблема git. Вашим кодировщикам необходимо протестировать свою работу, прежде чем совершать коммит. Стыд здесь - довольно хороший инструмент, используемый с юмором. Громкие выкрики «Кто сломал сборку?», Электронные письма, неформальные правила, что последний, кто сломал сборку, покупает обед ... вы выясняете, что работает в вашем магазине, чтобы выработать привычку тестировать, прежде чем совершать коммит.