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:
- 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.
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 …