Wpis z mikrobloga

Tak z ciekawości, ilu z Was wie jak git działa "pod spodem" i potrafi to wyjaśnić z mniejszymi bądź większymi szczegółami? Mam na myśli na przykład:
- jak i na podstawie czego generowane są hashe commitów,
- jak na commita wpływa "--amend" i co się wtedy naprawdę pod spodem tam dzieje,
- jak działa "git stash", ale nie na zasadzie "odkłada zmiany na bok", ale co się tam faktycznie dzieje pod spodem

Tak mnie wczoraj naszło, że korzystam z gita bez większych problemów, łącznie z bardziej zaawansowanymi problemami, które czasem trzeba odkręcić, bo ktoś mniej go ogarniający napsuł, ale nie w każdym przypadku wiem, co tam dokładnie dzieje się "pod spodem". I nie wiem, czy tylko ja tak mam, czy to coś bardziej powszechnego.

#programowanie #programista15k

Wiesz jak git działa "pod spodem"?

  • Tak 18.3% (35)
  • Nie 61.3% (117)
  • Tylko w niektórych przypadkach 20.4% (39)

Oddanych głosów: 191

  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rav2: no dla mnie też są bez sensu. A tak serio, to te pytania naszły mnie właśnie po wczorajszej rozmowie rekrutacyjnej, gdzie właśnie w części technicznej facet połowę czasu męczył mnie z gita właśnie i m.in. (ale nie tylko) tymi pytaniami, które napisałem. I tak sobie myślę po co mu to było, aż właśnie zacząłem się zastanawiać czy to wiedza typu "must have" i to ze mną coś może nie
  • Odpowiedz
Osobiście uważam, że Git to jedno wielkie szambo i z prostotą oraz użytecznością to ma tyle wspólnego co młot udarowy z trawnikiem


@horus666: A jaka masz alternatywe? SVN? Perforce?
  • Odpowiedz
@JayCube: No właśnie ból jest taki, że alternatyw za bardzo nie ma. Przyjrzę się jeszcze staremu dobremu SVNowi, bo w sumie koduję albo solo albo w bardzo małych zespołach.
  • Odpowiedz
@zmarnowany_czas: Czemu bez sensu? Jak dla mnie jeżeli kandydat wymieni kilka takich operacji (np commit —amend czy rebase)i je opisze własnymi słowami to wiem że ogarnia gita i nie będzie miał konfliktów sam ze sobą przez co nie zrobi r---------u na branchu o którym pisałeś.
  • Odpowiedz
@zibizz1: zawsze całych. Git nie jest systemem opartym na diffach/patchach. Commit to konkretny stan projektu w danym punkcie czasu, nie zmiana. Dlatego rebase przysparza ludziom tyle problemów - bo ludzie myślą w kategorii zmian np zadaja pytanie „czy poprawka X-123456 jest w tej gałęzi” a dla gita takie pytanie nie ma sensu, bo on nie zapisuje historii jako sekwencji zmian a jako sekwencję kompletnych stanów projektu.
  • Odpowiedz