У GitHub є чудовий розділ, який називається " Робота з помилками " не швидкий вперед ".
Ця помилка спочатку може бути трохи переважною, не бійтеся.
Простіше кажучи, git не може внести зміни на пульт дистанційного керування без втрати комітетів, тому він відмовляється від натиску .
Зазвичай це викликано тим, що інший користувач натискає на ту саму гілку. Ви можете виправити це шляхом отримання та об’єднання віддаленої гілки або за допомогою функції "pull", щоб виконати обидва одночасно.
В інших випадках ця помилка є результатом деструктивних змін, зроблених локально за допомогою команд типу « git commit --amend
або» git rebase
.
Хоча ви можете перекрити пульт, додавши --force
до push
команди, ви повинні зробити це лише у тому випадку, якщо ви абсолютно впевнені, що це ви хочете зробити.
Силові натискання можуть спричинити проблеми для інших користувачів, які дістали віддалену гілку, і вважається поганою практикою. Коли ви сумніваєтесь, не натискайте .
Git не може вносити зміни на пульт дистанційного управління, як швидке злиття вперед, що ілюструє Visual Git Reference :
Це не зовсім ваш випадок, але допомагає зрозуміти, що таке "швидкий рух вперед" (де HEAD
галузь просто переміщується до нової більш нової фіксації).
" branch master->master (non-fast-forward) Already-up-to-date
" Зазвичай для місцевих відділень, які не відстежують їх віддалену частину.
Ознайомтеся, наприклад, із таким запитанням " git pull - це актуально, але git push відхиляє нешвидкий рух вперед ".
Або дві гілки пов'язані між собою, але не погоджуючись зі своєю історією:
Дивіться " Нескінченна історія GIT - що я тут роблю неправильно? "
Це означає, що ваша підривна гілка та ваша віддалена гітка-гітка гілки нічого не домовляються.
Деяка зміна була підштовхнута / здійснена до тієї, якої немає в іншій.
Загоріться gitk --all
, і це має дати зрозуміти, що пішло не так - шукайте «вилки» в історії.