Работа над разными проектами в одном файле с Github

Я пытался найти лучший способ логически справиться с этой ситуацией. У меня есть веб-сайт и его промежуточная версия для тестирования новых функций/исправлений ошибок. Я обнаружил, что часто буду работать над несколькими проектами в одних и тех же файлах одновременно.

Проблема в том, что, скажем, я работаю в example.js над проектом A. Я сделал большую часть этого, или, может быть, все это сделал, но для тестирования потребуется некоторое время, так как это долгий проект. Тем временем я начинаю работать над проектом B, который включает в себя редактирование того же файла, example.js. Проект B — это просто быстрое исправление ошибок, и он готов к загрузке на основной сервер. Но как мне загрузить example.js на работающий сервер с изменениями проекта B и без изменений проекта A, потому что проект A еще не был полностью протестирован?

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

Если бы кто-то мог помочь мне собрать хороший процесс для этого, это было бы большой помощью.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Использование git (и, возможно, github) — это путь. Шаг, который вы пропустили, это шаг git merge. Это означает применение изменений, сделанных вами в ветке (т. е. Project B), к ветке master, которая является базой для вашего развертывания. Затем вы можете решить загрузить его на свой рабочий сервер или даже протестировать его на промежуточном сервере и загрузить после этого. Когда это будет сделано, вы загружаете свою ветку Project A на промежуточный сервер и работаете с этой веткой. И как только эта ветка будет завершена, вы git merge сделаете ее мастером.

Существует множество различных шаблонов расположения ветвей, но поток GitHub может быть хорошей отправной точкой.

Итак, если я использую разные ветки для каждого проекта на промежуточном сервере, код какой ветки будет отображаться на промежуточном веб-сайте? Он размещается непосредственно из файлов в IIS промежуточного компьютера.

optionalfigure 22.03.2022 22:04

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

SebDieBln 23.03.2022 10:17

Верно, но если промежуточный сервер размещен на IIS, и я вношу в него изменения непосредственно в его папке wwwroot, меняется ли он в зависимости от того, в какую ветку я выполняю git checkout во время работы с этой папкой? Или независимо от того, в какой ветке я работаю, она всегда использует только main?

optionalfigure 24.03.2022 13:14

«Изменяется ли это в зависимости от того, в какую ветку я делаю git checkout во время работы с этой папкой?» Да, это так. Изменения всегда применяются к извлеченной ветке. В вашем примере это больше похоже на сервер разработки, а не на промежуточный сервер.

SebDieBln 24.03.2022 23:48

Другие вопросы по теме