Этот список команд означает то же самое, что и другой список команд / --rebase flag - PullRequest
1 голос
/ 09 апреля 2019

Это список команд:

git checkout dev
git pull origin dev
git checkout 1234-bug-login
git rebase dev
git push -f origin 1234-bug-login

Делать то же самое, что и это, но короче

git pull origin dev --rebase 
git push origin 1234-bug-login

Учитывая, что я всегда обновляю свою ветку разработчика, начиная работать над любымТип проблемы

Наша компания использует более простой поток github:

  • У нас есть только dev и master
  • Разработчик должен создать новую веткуначиная работать над любым
  • , когда работа выполнена, разработчик должен извлечь origin/dev и затем объединить его со своей локальной веткой dev, в которой он работал в
  • , когда все конфликты разрешены,ветка должна быть отправлена ​​в удаленный репозиторий
  • запрос на слияние с origin/dev

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Нет, они не эквивалентны, но только в незначительных деталях.

Во-первых, во втором скрипте отсутствует git checkout, поэтому вытащите-перебазируйте dev в текущую ветвь (или, скорее: перебазируйте текущую ветвь на удаленный dev), какой бы ни была текущая ветвь, в то время как первый скрипт обеспечит Вы вытягиваете удаленного разработчика в локальное устройство

Второе отличие, первый скрипт делает git pull без --rebase. Если вы не установили эту опцию в GIT самостоятельно, git pull выполнит выборку и слияние (от удаленного разработчика до локального разработчика). Этот шаг полностью отсутствует во втором скрипте.

Пока все по-другому, так что, я полагаю, вы хотели иметь

git checkout 1234-bug-login

в качестве первой строки второго скрипта. Это гарантирует, что оба сценария попытаются перебазировать одну и ту же ветку.

Третье отличие, -f в команде push, довольно очевидно. Принимая во внимание, что оба сценария эффективно «перебазируют 1234-bug-login» на «origin / dev», то либо они необходимы в обоих сценариях, либо ни того, ни другого.

0 голосов
/ 09 апреля 2019

Примечания:

  • ваша локальная ветка dev не будет обновлена ​​в операции. Может быть неудобно для сравнения или других проверочных команд.

  • вам не хватает силы при последнем толчке, что было бы необходимо после перебазирования, вам нужно добавить его:

    git push origin +1234-bug-login

...