Nelămuriri în privința graph-ului generat de branch-uri

Lucrez eu cu cu inca cineva pe un proiect. Nu am creat niciunul vreun alt branch. Folosim doar master. Nu inteleg schema aia. Cum pot sa fie la un moment dat 3 linii in acelasi rand, cand e vorba doar de un singur branch. Ar trebui sa fie tot timpul o singura linie. Ma lamureste cineva? Multumesc.

O linie pentru local, o linie pentru server (remote) și a treia linie pentru colegul tău.

În secțiunea în care sunt trei linii aș zice că s-a întâmplat așa:

  1. ai făcut commit și push
  • colegul tău a făcut alte commit-uri, pull și push (în această ordine; practic a făcut commit-uri înainte să facă pull la ultimele modificări)
  • tu ai făcut alte commit-uri și pull.

Chiar dacă folosești un singur branch (master), de fapt vor fi două branch-uri distincte pentru fiecare colaborator: master și origin/master. Tu poți lucra inclusiv pe branch-ul feature și să faci push sau pull pe branch-ul origin/master fără nici un fel de problema.

1 Like

Pentru a avea o singura linie de comit-uri in loc de

git pull

ar trebui:

git fetch
git rebase origin/master

astfel ca la ce faci push sa fie tot timpul peste origin/master/HEAD.

@iamntz are dreptate dar cel mai sanatos ar fi ca fiecare sa lucreze in branch-ul lui.
La o perioada sa se faca merge la ambele in master apoi rebase cu master in branch-urile fiecaruia.
Asta ca sa eviti pull / push pentru fiecare modificare …

1 Like