ciclu de dezvoltare completa la o sucursală locală git

După SVN încă mai au probleme cu munca în runda. Locația actuală nu este practic să se dezvolte în ramurile, dar, de exemplu, am o problemă foarte mare, care nu poate fi turnat direct în master. Vărsarea sucursală în repo nici un sens, pentru că ea deploitsya și proteste nekak. Prin urmare, interesat de următoarele întrebări:

1. Cum de a trage modificări de la maestru la filiala locală?
2. Ca o sucursală locală în master merzh corect?
3. Ce probleme pot apărea în îndeplinirea primelor două paragrafe?
4. Când trebuie să rebase Delight și dacă este necesar?

Nu te plange, tot ce am Google tarat și așa nu înțeleg nimic. Explicați în termeni umani, te rog.

UPD: Băieți, vă mulțumesc foarte mult pentru toate, dar munca este umplut și în mișcare, dar răspunsurile au primit mai mult decât betonul. Vă mulțumesc foarte mult din nou.

După SVN încă mai au probleme cu munca în runda. Locația actuală nu este practic să se dezvolte în ramurile, dar, de exemplu, am o problemă foarte mare, care nu poate fi turnat direct în master. Vărsarea sucursală în repo nici un sens, pentru că ea deploitsya și proteste nekak. Prin urmare, interesat de următoarele întrebări:

1. Cum de a trage modificări de la maestru la filiala locală?
2. Ca o sucursală locală în master merzh corect?
3. Ce probleme pot apărea în îndeplinirea primelor două paragrafe?
4. Când trebuie să rebase Delight și dacă este necesar?

Nu te plange, tot ce am Google tarat și așa nu înțeleg nimic. Explicați în termeni umani, te rog.

UPD: Băieți, vă mulțumesc foarte mult pentru toate, dar munca este umplut și în mișcare, dar răspunsurile au primit mai mult decât betonul. Vă mulțumesc foarte mult din nou.

Răspuns: 8

Iată cum o fac. Dezvoltarea în ramura, am fost de a face în mod regulat împinge în repo în scopuri de backup. În fiecare zi fac rebase ramură, astfel încât să nu trebuie să faci mordzh. Când am terminat, iar ramura nu mai este nevoie ca o ramură, eu rebase și ramură apoi mordzh de a stăpâni - chiar mordzh, ci pur și simplu transferat HEAD pointer la partea de sus a fostei sucursalei.

De ce fac asta? Dacă nu trageți modificările de master, acestea se acumuleaza, iar rezultatul este imprevizibil mordzh devine dificilă. Modificările zilnice tartinabile de strângere de complexitate mordzha în mod egal pe zile și nu am să mordzhit mai mult de o schimbare zi.

O potențială problemă: dacă faci o mulțime de comiterile într-o ramură, schimbarea același cod, prima schimbare a codului în expertul mă forțeze să se stabilească conflicte în toate commit mele. Soluție: rebase adeziv se angajează înainte, să aibă o valoare minimă rezonabilă de comiterile în firul, atunci va trebui să stabilească un potențial conflict într-un număr limitat de commit.

Soluție îmbunătățită, care utilizează echipa noastră: în cele mai multe cazuri, în loc de ramura caracteristică pentru a utiliza un steag caracteristică. În acest caz, complexitatea mordzha răspândit chiar mai slab, între toți oamenii care editează codul referitoare la o sucursală.

Vă mulțumesc, omul meu bun. Despre și imaginează-ți procesul. Rămâne să traducă totul într-o echipă și să câștige experiență în ramura de testare.

> Dezvoltarea în ramura, am fost de a face în mod regulat împinge în repo în scopuri de backup.

Și nu doar o copie de rezervă. În cazul în care există un sistem de testare continuă, care testează toate ramurile - împinge filiala să-l trimită pentru testare.

  1. Cum de a trage modificări de la maestru la filiala locală?

Aceasta depinde de modul în care dezvoltarea se realizează. În cazul în care singur, acesta poate fi rebase. Va fi o poveste frumoasă de comiterile, atunci când cea mai recentă. Și pentru a face o forță de împingere, în cazul în care o sucursală undeva în magazia de server.

În cazul în care activitatea de ramură este efectuată în comun cu cineva, cel mai bine este de a face un expert de îmbinare în ramura, și va fi conflicte Bayda. Dacă doriți o poveste frumoasă, puteți face rebase finală înainte de infuzia în principal (aici, din nou, datorită sincronizării regulate ar trebui să fie mai ușor).

  • Ca o filială locală în master merzh corect?

    Din nou, dacă doriți o istorie frumoasă, rebase de a face, pentru a rezolva posibile conflicte cu el, apoi o îmbinare simplă. Sau pur și simplu doar să fuzioneze.

  • Ce probleme pot apărea în îndeplinirea primelor două paragrafe?

    El le-a descris ca fiind. Datorită modificărilor semnificative, precum și dezvoltarea în paralel a unui conflict inevitabil. Mai ales în cazul în care urât forțați insistent. (În timp ce treceam printr-o astfel obișnuit rebase --skip)

  • Când trebuie să rebase Delight și dacă este necesar?

    Când și dacă doriți o poveste frumoasă. Ajutor pentru a evita inestetice merzh-commit.

    Eu de obicei fac acest lucru
    1. git fetch maestru îmbinare git

    2. git îmbinare caracteristică nume-

    4. Corpuri de iluminat nu spun, pentru că este un lucru teribil. Am aproape o dată pe tot parcursul zilei de lucru nu este pierdut. în practică, nimic serios. si da, povestea este într-adevăr mai frumos Komichi