Что это значит, когда git pull вызывает конфликт, а git pull --rebase - нет? - PullRequest
2 голосов
/ 20 мая 2010

Я вытаскиваю из хранилища, к которому только у меня есть доступ. Насколько я знаю, я только подтолкнул к этому из одного хранилища. Пару раз я пытался подтолкнуть к этому и получил это:

To jbaker@192.168.2.216:tsched_dev.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'jbaker@192.168.2.216:tsched_dev.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

Как правило, это просто означает, что я должен сделать git pull (хотя все изменения должны быть быстродействующими) Когда я делаю git pull, я получаю конфликты. Если я делаю git pull --rebase, он работает нормально. Что я делаю не так?

1 Ответ

3 голосов
/ 20 мая 2010

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

По сути, это зависит от того, как вы заказываете коммиты, у вас есть конфликты. С ребазой вы ставите исходные перед своими, слиянием ставите исходные целиком против своего хозяина, что может иметь значение.

...