Com treure els canvis d'una branca a una altra a Git

How Pull Changes From One Branch Another Git



Un dipòsit git conté una o més branques per gestionar el codi de manera eficient. De vegades, els usuaris de git han de treballar simultàniament amb diverses branques i han de canviar d'una branca a una altra amb els canvis realitzats a la branca anterior a la branca actual abans del commit. Aquesta tasca es pot fer utilitzant diverses maneres a git. L'ordre stash es pot utilitzar des del terminal i combinar ordres des de l'escriptori GitHub per extreure els canvis d'una branca a una altra branca en aquest tutorial.

Requisits previs

1. Instal·leu GitHub Desktop
GitHub Desktop ajuda l'usuari del git a realitzar gràficament les tasques relacionades amb el git. Podeu descarregar fàcilment l’últim instal·lador d’aquesta aplicació per a Ubuntu des de github.com. Heu d’instal·lar i configurar aquesta aplicació després de la descàrrega per utilitzar-la. També podeu consultar el tutorial per instal·lar GitHub Desktop a Ubuntu per conèixer correctament el procés d’instal·lació.







2. Creeu un compte de GitHub
Haureu de crear un compte de GitHub per comprovar l’aspecte del dipòsit remot després de publicar el canvi del dipòsit local.



3. Creeu un dipòsit local
Heu de crear un dipòsit local per comprovar les ordres utilitzades en aquest tutorial.



Ús de l'ordre stash

El dipòsit local anomenat PHP2 s'ha utilitzat en aquest tutorial per mostrar com treure canvis d'una branca a una altra branca del dipòsit. Creeu un fitxer anomenat index.html al dipòsit. Obriu el terminal i aneu a la carpeta del dipòsit. Executeu les ordres següents per comprovar la llista de branques, canviar a la branca mestra i mostrar l'estat de la branca.





$ git branca
$ git checkout master
estat de $ git

La següent sortida apareixerà després d'executar l'ordre anterior. La sortida mostra que el dipòsit conté dues branques i el principal la branca estava activa inicialment. Després de canviar a mestre , la sortida de l'estat mostra que la branca actual està activa i l’índex.html el fitxer no es fa un seguiment.



Executeu les ordres següents per fer un seguiment del fitxer sense rastrejar i torneu a comprovar l'estat del dipòsit git.

$ git add index.html
estat de $ git

La següent sortida apareixerà després d'executar les ordres anteriors. La sortida de l'estat mostra que l’índex.html El fitxer s’afegeix al dipòsit però s’ha de confirmar.

Executeu les ordres següents i torneu a comprovar l'estat del dipòsit git. L'ordre 'git stash' funciona com l'ordre 'git commit'. El directori de treball del dipòsit es netejarà després d’executar aquesta ordre.

$ git stash
estat de $ git

La següent sortida apareixerà executant les ordres anteriors.

Després d’executar l’ordre stash per a una branca, si l’usuari del git vol treure els canvis de la branca a una altra branca, es pot fer fàcilment mitjançant l’ordre `git stash pop` que funciona com l’ordre` git merge`. Executeu les ordres següents per canviar-les el principal i treieu els canvis des de la mestre branca cap al principal branca.

$ git checkout main
$ git stash pop

La següent sortida apareixerà després d'executar l'ordre anterior que mostra que la branca actual és principal i la index.html s'afegeix el fitxer en aquesta branca.

Executeu l'ordre següent per confirmar la tasca anterior amb el missatge de confirmació i torneu a comprovar l'estat.

$ git commit -m 'fitxer d'índex afegit'
estat de $ git

La següent sortida apareixerà després d'executar les ordres anteriors. La sortida de l'estat mostra que l'arbre de treball està net després de la confirmació.

Si els canvis del dipòsit local s’envien al dipòsit remot i el dipòsit remot s’obre des de github.com, el dipòsit tindrà l’aspecte de la imatge següent.

Ús de l'ordre merge

Aquesta part d’aquest tutorial mostra una altra manera d’extreure els canvis d’una branca a una altra. El dipòsit local anomenat fitxer de lectura ha utilitzat aquí. Creeu un fitxer anomenat read.php a la ubicació del dipòsit. Executeu les ordres següents per canviar a la branca mestra, afegiu el fitxer read.php i realitzeu la tasca. L'ordre branch mostrarà la llista de branch. L'ordre checkout canviarà la branca a mestra. L'ordre status mostrarà l'estat actual de la sucursal. L'ordre add afegirà el fitxer no rastrejat al dipòsit. L'ordre commit confirmarà la tasca.

$ git branca
$ git checkout master
estat de $ git
$ git add read.php
$ git commit -m 'S'ha afegit l'script de lectura'

La següent sortida apareixerà després d'executar les ordres anteriors. El fitxer read.php s'ha afegit a la branca mestra del dipòsit i la tasca també s'ha compromès.

Després de completar la tasca anterior, si els canvis fets al fitxer mestre la sucursal requereix la transferència a principal branca, doncs la fusió es pot utilitzar l'ordre per realitzar aquesta tasca. L'ordre merge es pot utilitzar des del terminal o mitjançant l'aplicació GitHub Desktop. La forma d’utilitzar GitHub Desktop per combinar branques s’ha mostrat en aquesta part del tutorial. Obriu el dipòsit local a GitHub Desktop. Feu clic a per obrir el quadre de diàleg de la llista de sucursals la llista d’oficines des del Veure i seleccioneu el menú principal branca com a branca activa. Ara feu clic a Combineu-lo a la branca actual ... des del Sucursal menú. Seleccioneu el fitxer mestre des del quadre de diàleg i feu clic a Combineu el mestre al principal per extreure els canvis del fitxer mestre branca a el principal branca. Podeu suprimir el fitxer mestre branca després de completar l'operació de combinació si la branca no requereix el dipòsit.

Conclusió

En aquest tutorial s’han mostrat dues maneres diferents d’extreure els canvis d’una branca a una altra amb dos repositoris locals de demostració. El guardar i vaja aquí s'han utilitzat ordres de git per fer la tasca. L’escriptori GitHub s’ha utilitzat en aquest tutorial per mostrar la manera de fusionar les branques gràficament.