Я собираюсь присоединиться к команде SW, и у меня есть несколько вопросов о сотрудничестве с использованием git. Я понимаю, что некоторые из этих ответов могут различаться в зависимости от команды, к которой я присоединяюсь, и их предпочтений, но я определенно буду признателен за понимание того, как вы и ваша команда сотрудничают.
Мое понимание что существующий код будет размещен на GitHub, и я раскошелюсь, а затем клонируюсь на мою машину. Каждый раз, когда в восходящем потоке появляется новый код, я синхронизирую c моего форка.
1) Если член команды делает запрос на извлечение, и он сливается с вышестоящим, я получаю / объединяю этот новый код. Обновлять ли я свой форк, получая и объединяясь с апстримом, фиксируя и затем проталкивая на мое разветвленное репо?
2) Обычно ли члены команды разветвляют вилки друг друга или только из апстрима? Я предполагаю, что вы бы разветвляли форк члена команды, если бы ему была нужна помощь, но, опять же, этот член команды мог бы сделать запрос на извлечение новой ветки в апстрим, а затем я просто выбрал бы эту ветку из апстрима. Или восходящий поток предназначен только для тех функций, которые полностью завершены и готовы к внедрению в производство?
3) Теперь, когда я выполнил задание, я бы поручил свою локальную главную ветвь, а затем pu sh, чтобы моя вилка, тогда я бы сделал запрос на вытягивание от моей вилки до восходящего потока. Это правильный рабочий процесс? Есть ли лучший / более распространенный способ? Я делаю пулл-запрос из одной из веток на моей ветке или напрямую из моей локальной ветки в апстрим?