Создается новая ветвь из master
, мы называем ее test
.
Есть несколько разработчиков, которые либо передают на master
, либо создают другие ветки, а затем сливаются в master
.
Предположим, что работа над test
занимает несколько дней, и вы хотите постоянно обновлять test
с помощью коммитов внутри master
.
Я сделал бы git pull origin master
из test
.
Вопрос 1: Правильно ли это? Другие разработчики могли легко работать с теми же файлами, с которыми я работал. Кстати,
Выполняется моя работа над test
, и я готов снова объединить ее с master
. Вот два способа, о которых я могу думать:
A:
git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test
B:
git checkout test
git pull origin master
git checkout master
git merge test
Я не использую --rebase
, потому что, по моему мнению, rebase получит изменения от master
и уложит мой поверх этого, поэтому он может перезаписать изменения, сделанные другими людьми.
Вопрос 2: Какой из этих двух методов прав? В чем разница?
Цель состоит в том, чтобы сохранить ветвь test
обновленной с вещами, происходящими в master
, и позже я смогу объединить их обратно в master
, надеясь сохранить график как можно более линейный.