2016-06-24 4 views
7

Я не понимаю разницы между git pull --rebase и git rebase, без каких-либо других опций.git pull --rebase vs git rebase: в чем опасность?

Я не понимаю, являются ли они безопасными, хорошей практикой или очень опасны.

Могу ли я покончить с историей совершения, сделав git pull --rebase на местном?

+0

http://stackoverflow.com/questions/18930527/difference-between-git-pull-and-git-pull-rebase – ashishmohite

+0

'git rebase' не запускает' fetch' первым. – choroba

ответ

7

Я не рекомендую вообще перезаряжать, но только для частных ветвей. К private Я имею в виду ветки, которые вы уверены, что только вы потянули.

Базовая информация изменяет начальную точку ветви на более новую фиксацию, тем самым объединяя все фиксации с этой точкой. Это может привести к слиянию конфликтов с людьми, имеющими в своем хранилище старую базу. Я бы порекомендовал простое слияние всегда и оставлял пересылку только для определенных ситуаций (например, ветвей функций).

Что касается Вашего вопроса:

  • мерзавец Rebase rebases ветвь вы хотите.
  • git pull --rebase выполняет выборку + rebase в ветвях, которые вы тянете. Обычно вытягивание будет извлекать + слияние.
+0

Итак, сделайте git pull -rebase в безопасности? – sab

+0

Безопасный в каком смысле? Базеба изменяет начальную точку, разница между той или другой состоит в том, что git pull - rebase делает массивную rebase. Я бы не рекомендовал переустанавливать общие ветви, поэтому я бы не рекомендовал git pull --rebase. Делайте простой git pull вместо этого. – Luis

7

git pull --rebase является обобщающим для git fetch, а затем простой git rebase, поэтому единственное отличие состоит в том, что применение только последний не будет получать никаких новых фиксаций с удаленного до перебазирования кода на вершине, как это было бы только учтите, что уже известно вашему хранилищу.

Смежные вопросы