Wpis z mikrobloga

Mirki pytanko z Gita.
Utworzyłem sobie nowy task-branch od mastera. Dodałem swoje zmiany i przed mergem chciałem pobrac aktualne zmiany z mastera.
W czasie jak pracowałem nad taskiem, inne osoby robiły swoje zadania i zmergowały ich branche do mastera, więc muszę te zmiany pobrać przed moim mergem.

Wklepałem git pull origin master na moim branchu i dostaję wynik: fatal: Not possible to fast-forward, aborting.
Są różne rozwiązania w necie, ale chce się was spytać jaki jest prawidłowy, żebym przypadkiem coś nie #!$%@?ł przy masterze xD

#programista15k #programowanie #git #github
  • 31
@nick230: musisz zmergować maina do twojego brancha (ja tego nie lubie) lub zrobić rebase twoich zmian na maina. Czyli kazdy Twój commit nakładasz na najnowszą wersję.(ten sposób robisz tylko jeśli jedynie ty pracujesz na twoim branchu bo ta operacja modyfikuje tego brancha,p rzekłada go w inne miejsce)
@nick230: Sam jestem ciekaw odpowiedzi. Wydaje mi się, że powinieneś przebazować swoją gałąź na mastera. git rebase master powinno wpisać zmiany z mastera przed Twoimi zmianami. Wtedy masz ładną liniową historię. Błąd przy git pull origin master wygląda jakby coś się zmieniło w historii origin/master co powoduje, że nie możesz ściągnąć stamtąd zmian na swojego mastera w prosty sposób. Tak jakby ktoś nadpisał historię na origin masterze i teraz te dwie
  • 0
musisz zmergować maina do twojego brancha (ja tego nie lubie)


@zibizz1: No właśnie to próbuję zrobić i nie mogę bo dostaję ten error.


lub zrobić rebase twoich zmian na maina


@zibizz1: git pull origin master --rebase?
  • 0
Wydaje mi się, że powinieneś przebazować swoją gałąź na mastera.


@Yelonek: No właśnie ja się odłączyłem od mastera.

Może to wina tego, że jedni dociągają zmiany w ten sposób:
git merge --no-ff origin master
  • 0
@zibizz1: Pracuje od lat korzystając z UI, ale pierwszy raz w tej firmie dostałem #!$%@?, że nie powinienem korzystać z UI bo to niezaufane narzędzie i mam korzystać z lini poleceń xDD Mam sporo lat doświadczenia z gitem, a pierwszy raz od dawna mam problem z mergem :D
@kobrys13: Ja polecam Visual Studio Code z GitLens. Nie znalazłem lepszego interfejsu do git. Czasem nawet jak piszę w innym programie to trzymam odpalone VSC i tam robię wszystkie rzeczy związane z gitem.
@nick230: Na swoim branchu robisz git pull origin master --no-rebase, rozwiązujesz konflikty i masz merge commit. Wszystko jest aktualne, mergowalne i bez zbędnego zachodu ( ͡° ͜ʖ ͡°)