Але я отримую помилку "! [Відхилено]" і щось про "не швидкий вперед"
Це тому, що Git не може об'єднати зміни з гілок у вашого поточного майстра. Скажімо, ви перевірили гілку master
, і ви хочете об'єднатись у віддалену гілку other-branch
. Коли ви це зробите:
$ git pull origin other-branch
Git в основному робить це:
$ git fetch origin other-branch && git merge other-branch
Тобто, a pull
- це лише fetch
слідом за a merge
. Однак, коли pull
-ву, Git буде тільки зливатися , other-branch
якщо він може виконувати швидко вперед злиття. Швидко вперед злиття злиття , в якому глава філії ви намагаєтеся злитися є прямим нащадком глави філії ви хочете об'єднати. Наприклад, якщо у вас є це дерево історії, то об'єднання other-branch
призведе до швидкого злиття вперед:
O-O-O-O-O-O
^ ^
master other-branch
Однак це не буде швидким злиттям вперед:
v master
O-O-O
\
\-O-O-O-O
^ other-branch
Щоб вирішити свою проблему, спершу отримайте віддалену гілку:
$ git fetch origin other-branch
Потім об'єднайте його у свою поточну гілку (я вважаю, що це master
) та виправте будь-які конфлікти злиття:
$ git merge origin/other-branch
# Fix merge conflicts, if they occur
# Add merge conflict fixes
$ git commit # And commit the merge!