Cum să trageți modificările de la o ramură la alta în Git

How Pull Changes From One Branch Another Git



Un depozit git conține una sau mai multe ramuri pentru a gestiona codul în mod eficient. Uneori, utilizatorii de git trebuie să lucreze simultan cu mai multe ramuri și trebuie să treacă de la o ramură la alta, cu modificările făcute în ramura anterioară la ramura curentă înainte de a comite. Această sarcină poate fi realizată utilizând mai multe moduri în git. Comanda stash poate fi utilizată de la terminal și fuzionează comenzile de pe desktopul GitHub pentru a trage modificările de la o ramură la alta ramură în acest tutorial.

Condiții prealabile

1. Instalați GitHub Desktop
GitHub Desktop ajută utilizatorul git să efectueze grafic sarcinile legate de git. Puteți descărca cu ușurință cel mai recent instalator al acestei aplicații pentru Ubuntu de pe github.com. Trebuie să instalați și să configurați această aplicație după descărcare pentru a o utiliza. De asemenea, puteți verifica tutorialul pentru instalarea GitHub Desktop pe Ubuntu pentru a cunoaște corect procesul de instalare.







2. Creați un cont GitHub
Va trebui să creați un cont GitHub pentru a verifica aspectul depozitului la distanță după publicarea modificării depozitului local.



3. Creați un depozit local
Trebuie să creați un depozit local pentru a verifica comenzile utilizate în acest tutorial.



Utilizarea comenzii stash

Depozitul local numit PHP2 a fost folosit în acest tutorial pentru a arăta cum să trageți modificările dintr-o ramură în alta ramură a depozitului. Creați un fișier numit index.html în depozit. Deschideți terminalul și accesați folderul depozitului. Rulați următoarele comenzi pentru a verifica lista de sucursale, comutați la sucursala principală și afișați starea sucursalei.





$ git ramură
$ git checkout master
starea $ git

Următoarea ieșire va apărea după executarea comenzii de mai sus. Rezultatul arată că depozitul conține două ramuri și principalul ramura a fost activă inițial. După trecerea la maestru ramură, ieșirea stării arată că ramura curentă este activă și index.html fișierul nu este urmărit.



Rulați următoarele comenzi pentru a urmări fișierul netrecut și verificați din nou starea depozitului git.

$ git add index.html
starea $ git

Următoarea ieșire va apărea după executarea comenzilor de mai sus. Ieșirea stării arată că index.html fișierul este adăugat în depozit, dar trebuie să se angajeze.

Rulați următoarele comenzi și verificați din nou starea depozitului git. Comanda `git stash` funcționează ca comanda` git commit`. Directorul de lucru al depozitului va fi curățat după executarea acestei comenzi.

$ git stash
starea $ git

Următoarea ieșire va apărea executând comenzile de mai sus.

După executarea comenzii stash pentru o ramură, dacă utilizatorul git dorește să treacă modificările ramurii către o altă ramură, se poate face cu ușurință folosind comanda `git stash pop` care funcționează ca și comanda` git merge`. Rulați următoarele comenzi pentru a trece la principalul ramificați și trageți modificările din maestru ramură către principal ramură.

$ git checkout main
$ git stash pop

Următoarea ieșire va apărea după executarea comenzii de mai sus care arată că ramura curentă este principal si index.html fișierul este adăugat în această ramură.

Rulați următoarea comandă pentru a comite sarcina anterioară cu mesajul de confirmare și verificați din nou starea.

$ git commit -m 'fișier index adăugat'
starea $ git

Următoarea ieșire va apărea după executarea comenzilor de mai sus. Ieșirea stării arată că arborele de lucru este curat acum după comitere.

Dacă modificările din depozitul local sunt împinse în depozitul de la distanță și depozitul de la distanță este deschis de pe github.com, atunci depozitul va arăta ca următoarea imagine.

Utilizarea comenzii de îmbinare

Această parte a acestui tutorial arată un alt mod de a trage modificările de la o ramură la alta. Depozitul local numit citire-fișier a folosit aici. Creați un fișier numit read.php în locația depozitului. Rulați următoarele comenzi pentru a trece la ramura principală, adăugați fișierul read.php și comiteți sarcina. Comanda ramură va afișa lista ramurilor. Comanda de checkout va comuta ramura la master. Comanda de stare va afișa starea curentă a sucursalei. Comanda add va adăuga fișierul nedetectat în depozit. Comanda de confirmare va confirma sarcina.

$ git ramură
$ git checkout master
starea $ git
$ git add read.php
$ git commit -m 'Se adaugă scriptul de citire'

Următoarea ieșire va apărea după executarea comenzilor de mai sus. Fișierul read.php a fost adăugat la ramura principală a depozitului și sarcina a fost, de asemenea, angajată.

După finalizarea sarcinii de mai sus, dacă modificările efectuate în maestru sucursala necesită transfer în principal ramură, atunci fuzionarea comanda poate fi utilizată pentru a efectua această sarcină. Comanda de îmbinare poate fi utilizată de la terminal sau utilizând aplicația GitHub Desktop. Modul de utilizare a GitHub Desktop pentru fuzionarea ramurilor a fost prezentat în această parte a tutorialului. Deschideți depozitul local în GitHub Desktop. Deschideți caseta de dialog a listei de ramuri făcând clic pe lista Sucursalelor de la Vedere meniul și selectați principal ramură ca ramură activă. Acum, faceți clic pe Mergeți în ramura curentă ... de la Ramură meniul. Selectează maestru ramificați din caseta de dialog și faceți clic pe Merge master în principal butonul pentru a trage modificările din maestru ramură în principalul ramură. Puteți șterge fișierul maestru ramură după finalizarea operațiunii de îmbinare dacă ramura nu necesită depozit.

Concluzie

Două moduri diferite de a trage modificările dintr-o ramură în alta ramură au fost prezentate în acest tutorial folosind două depozite locale demo. The ascunde și merge comenzile git au fost folosite aici pentru a efectua sarcina. GitHub Desktop a fost utilizat în acest tutorial pentru a arăta grafic modul de îmbinare a ramurilor.