Я пытался найти лучший способ логически справиться с этой ситуацией. У меня есть веб-сайт и его промежуточная версия для тестирования новых функций/исправлений ошибок. Я обнаружил, что часто буду работать над несколькими проектами в одних и тех же файлах одновременно.
Проблема в том, что, скажем, я работаю в example.js над проектом A. Я сделал большую часть этого, или, может быть, все это сделал, но для тестирования потребуется некоторое время, так как это долгий проект. Тем временем я начинаю работать над проектом B, который включает в себя редактирование того же файла, example.js. Проект B — это просто быстрое исправление ошибок, и он готов к загрузке на основной сервер. Но как мне загрузить example.js на работающий сервер с изменениями проекта B и без изменений проекта A, потому что проект A еще не был полностью протестирован?
Я думал об использовании Github и просто создании отдельной ветки для каждого проекта, который я делаю, и просто переносе репозитория Github на рабочий сервер, но я не могу собрать это в своей голове. Я бы внес эти изменения для всех проектов непосредственно на промежуточном сервере, чтобы сразу увидеть их на промежуточной версии веб-сайта.
Если бы кто-то мог помочь мне собрать хороший процесс для этого, это было бы большой помощью.
Использование git (и, возможно, github) — это путь. Шаг, который вы пропустили, это шаг git merge
. Это означает применение изменений, сделанных вами в ветке (т. е. Project B
), к ветке master
, которая является базой для вашего развертывания. Затем вы можете решить загрузить его на свой рабочий сервер или даже протестировать его на промежуточном сервере и загрузить после этого. Когда это будет сделано, вы загружаете свою ветку Project A
на промежуточный сервер и работаете с этой веткой. И как только эта ветка будет завершена, вы git merge
сделаете ее мастером.
Существует множество различных шаблонов расположения ветвей, но поток GitHub может быть хорошей отправной точкой.