Я новичок в git и хотел бы знать, как справиться с очень простым сценарием. Я прочитал так много сообщений на stackoverflow о git, но до сих пор не могу найти ответ.
У нас есть удаленная ветка origin / master, над которой все работают.
У меня есть особенность, которую я хочу реализовать, и на ее разработку может потребоваться время. Между тем, люди могут проверять код для источника / мастера.
Как бы выглядел мой рабочий процесс и как мне нужно настроить ветку git, учитывая следующие потребности:
Я хочу иметь возможность фиксировать изменения кода в моей ветви и отправлять их в удаленную ветку на нашем сервере, чтобы не терять изменения в случае, если мой компьютер перезагружен.
Я хочу, чтобы моя ветка была в курсе главной ветки.
Я хочу минимизировать регулярные слияния. Мне нравится концепция git rebase, поэтому я хотел бы максимально использовать ее и, следовательно, выполнять ускоренное слияние.
В какой-то момент нам придется объединить мою ветку FeatureA с origin / master.
Подведение итогов:
Как настроить ветку, которая вытягивает из источника / мастера, но выталкивает в источник / MY-BRANCH?
Как бы выглядел мой рабочий процесс?
UPDATE:
Спасибо, @ Уил-Прагнелл! В чем разница между вашим решением и следующим.
Эта страница на github предлагает:
https://github.com/diaspora/diaspora/wiki/Git-Workflow
Чтобы получить последние обновления из ствола разработки, выполните однократную настройку для установки основного репозитория GitHub в качестве удаленного, введя:
$ git remote add upstream git://github.com/diaspora/diaspora.git
$ git fetch upstream
$ git checkout master
$ git rebase upstream/master
$ git checkout 100-retweet-bugfix
[убедитесь, что в ветке все зафиксировано как необходимо]
$ git rebase master