Git - fuziune avansată

fuziune avansată

De obicei, efectua în Git îmbinarea celor două tendințe destul de ușor. Git simplifică re-fuzioneze cu una și aceeași ramură, permițând astfel să aibă o ramură foarte lungă de viață, și vă puteți păstra toate datele de timp pentru a-, permițând adesea conflicte mici, mai degrabă decât aduce problema la un singur un conflict mare la finalizarea tuturor modificări.

Uneori, cu toate acestea, va fi în continuare apar conflicte dificile. Spre deosebire de multe alte sisteme de control al versiunii, Git nu încearcă să fie prea inteligent în rezolvarea conflictelor fuzioneze. Filozofia Git este de a fi inteligent, în cazul în care fuziunea este permis să îndepărteze, dar dacă există un conflict, nu încearcă sumnichat și să o rezolve în mod automat. Prin urmare, dacă prea mult timp să amâne fuziunea a două ramuri cu creștere rapidă, s-ar putea întâlni unele probleme.

În această secțiune, vom discuta unele dintre posibilele probleme și instrumentele oferite GIT, pentru a vă ajuta să facă față acestor situații mai complexe. De asemenea, ne uităm la alte tipuri de non-standard ale fuziunilor, pe care le puteți face, și să învețe cum să se rostogolească înapoi fuziunea deja finalizată.

îmbinare intră în conflict

Am spus unele elementele de bază a rezolva conflictele din fuzioneze principalele conflicte de îmbinare. pentru a lucra cu mai multe conflicte complexe Git oferă câteva instrumente pentru a vă ajuta să înțeleagă ce sa întâmplat și cum cel mai bine pentru a gestiona conflictul.

În primul rând, dacă este posibil, înainte de fuziune, în care pot apărea conflicte, asigurați-vă că directorul de lucru nu are modificări locale. Dacă aveți evoluții nesalvate sau rezervarea lor sau să le salvați într-o sucursală temporară. Astfel, puteți anula cu ușurință orice modificări care sunt făcute în directorul de lucru. Dacă efectuați o îmbinare, ați fost salvat în schimbările directorul de lucru, unele dintre tehnicile descrise mai jos poate avea ca rezultat pierderea acestor evoluții.

Să ne uităm la un exemplu foarte simplu. Să presupunem că avem un fișier sursă în Ruby, care ar afișa șirul hello world.

În acest depozit, vom crea o nouă ramură numită spații libere și efectua înlocuirea tuturor finaluri de linie la stilul Unix finaluri de linie la stilul DOS. De fapt, modificările vor fi făcute pentru fiecare linie, dar schimba doar spațiu gol. Apoi vom înlocui „lumea bună“ pe linia „Hello mundo“.

Acum vom trece înapoi la ramura de master, și se adaugă la funcția de o documentație.

articole similare