Wpis z mikrobloga

Jak to jest z tym mergem w #git , teoretycznie kiedy merguje, np do mastera, to dodaje sie jeden commit z wszystkimi zmianami z brancha. I ok - jest tak, ale czemu te pojedyczne commity z tego brancha tez sie pojawiaja na masterze (patrze przez githuba)?

#programowanie #informatyka
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Stout: Dokonując merga łączysz całe branche, zachowując całą historię edycji i modyfikacji, w tym wszystkie commity. Taki jest cel - integracja zmian nie ma oznaczać jednego ogromnego patcha, np. modyfikującego wszystkie pliki w projekcie i dotykającego kilkadziesiąt tysięcy linii kodu, ale stopniową integrację zachowującą pełną historię zmian.
  • Odpowiedz
via Android
  • 0
@wolodia ale to commity z feature brancha wpychaja się pomiędzy commity na masterze? W sensie jak wpychnalem o 14 i 15 commity na master i o 14:30 na feature branch, to one beda w kolejnosci 14 14:30 15 po mergu?

Nie wiem czemu tego nie kumam do końca jak to działa
  • Odpowiedz
zemu te pojedyczne commity z tego brancha tez sie pojawiaja na masterze (patrze przez githuba)?


@Stout: dlatego, że w git (w przeciwieństwie do mercuriala) commity nie przynależą do brancha, a branch jest tylko labelka/aliasem na wybrany commit
  • Odpowiedz
via Android
  • 0
@leoha ale skoro merge robi jeden commit z kodem z feature brancha to czemu mam te commity z niego na masterze ( ͡° ʖ̯ ͡°)
  • Odpowiedz
@Stout: dlatego, że commit ma dwóch przodków i dla gita są nierozróżnialne, który z tych commitów wcześniej był, którym branchem, bo bo git (w przeciwieństwie [tu wklej fragment mojej poprzedniej wiadomości]
  • Odpowiedz
14 14:30 15 po mergu?


@Stout: no tak. tzn. jeśli chcesz je mieć w kolejności to przed merge zrób rebase do mastera i wtedy będziesz mieć kolejność zachowaną (jakbyś się dopiero co rozbranchował z mastera).
  • Odpowiedz