Создана новая ветка от master
, мы ее называем test
.
Есть несколько разработчиков, которые либо принимают master
, либо создают другие ветки, а затем объединяются в master
.
Допустим, работа над test
занимает несколько дней, и вы хотите постоянно обновлять test
с помощью коммитов внутри master
.
Я бы сделал git pull origin master
из test
.
Вопрос 1: Это правильный подход? Другие разработчики могли легко работать с теми же файлами, что и я.
Моя работа над test
завершена, и я готов снова объединить ее с master
. Вот два способа, о которых я могу думать:
А:
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
, надеясь сохранить график как можно более линейным.