В моей компании есть рабочий процесс Git, который выглядит примерно так:
- Создайте ветвь функции из нетронутой ветки (мы используем базовую ветвь, называемую "develop", но вы можете думать об этом как о "хозяине" )
- Сделайте работу, которая вам понадобится в этой ветки этой функции, и скопируйте свои изменения.
- Иногда, пересобирайте ветвь с веткой разработки
- Когда работа в вашей ветке свойств завершена, зафиксируйте и нажмите на ветвь удаленной функции на GitHub
- Создайте запрос на перенос, чтобы объединить ветвь вашей функции в ветку разработки, которая получает код, проверенный другим разработчиком.
- Как только проверка кода будет завершена, ветвь функции будет объединена в ветку разработки, а ветвь функции будет удалена.
Это работает, когда вы имеете дело с последовательным рабочим процессом, но когда вы переместили свои изменения из своей ветки функций и ожидаете, что другой разработчик рассмотрит и объединит ваши изменения, вы, вероятно, захотите взять еще один кусок работа, что означает повторение вышеуказанного процесса.
В нашем случае мы в настоящее время создаем наши ветки функций из ветки разработки, поэтому работа, которую я только что завершила, пока недоступна (она все еще находится в подвешенном состоянии, ожидая объединения в ветку разработки другим разработчиком). Вопрос, который у меня есть, заключается в том, что, если работа, которую я делаю в моей новой ветки функции, зависит от работы, которую я только что завершил в своей предыдущей ветки функции? Должен ли я изначально разветвлять свою новую ветку функций из моей ветки с не связанными функциями, а не с веткой разработки? Если я уже создал свою новую ветвь функции из ветки разработки, получает изменения, которые я пропускаю из немаркированной ветки так же просто, как делать git merge [unmerged-branch]
в моей новой ветке?
Надеюсь, это объяснение, а также сам рабочий процесс! -- имеет смысл. Я попал в какие-то странные ситуации, когда я не понял состояние моего кода, поэтому я пытаюсь понять рабочий процесс, который дает мне гибкость для слияния изменений с другими ветвями функций, все еще получая восходящие изменения на любом время.