Tutorial avançat de Git

Tutorial avançat de Git

El desplegament del vostre projecte mitjançant un dipòsit remot us permet gestionar cada part de manera flexible. Ara hi ha solucions d’errors, actualitzacions de funcions, supressió de fitxers, treball en equip, contribucions de codi obert, desplegament de codi i molt més, amb un fort coneixement de Git.





Per tant, heu utilitzat Git però voleu saber-ne més? Aquests són alguns consells més avançats de Git que faran que la vostra versió del projecte controli una brisa.





Git Branch

Una branca Git impedeix empènyer directament a la branca mestra. És útil si gestioneu un projecte amb un equip de desenvolupadors. Podeu crear tantes branques Git com vulgueu i, després, combinar-les amb la branca mestra.





Creeu una sucursal Git

Per crear una branca Git, utilitzeu:

git branch branch_name

Canvieu a una sucursal Git

Ús caixa per canviar a una branca Git:



git checkout branch_name

Després de canviar a una sucursal, podeu realitzar els canvis mitjançant git add --all . A continuació, confieu-los mitjançant el fitxer git commit -m 'nom de confirmació' comandament.

Compareu una sucursal amb Master

Utilitzar el git diff comandament:





git diff master..branch_name

Per comparar fitxers específics:

git diff master..testb -- main.html

Comparar dues branques és similar a com es compara una branca amb el mestre:





git diff branch1..branch2

Per veure les diferències en un fitxer específic entre dues branques:

git diff branch1..branch2 -- main.html

Introduïu els canvis a una sucursal remota

És possible que vulgueu que un altre desenvolupador vegi els canvis que heu fet a un fitxer de la vostra sucursal local abans de fer-los publicar. Una bona pràctica és empènyer la vostra sucursal local de Git a una rèplica remota perquè pugui veure-la.

Suposem que prèviament heu creat una sucursal local anomenada canvis . Podeu canviar a aquesta branca local, ajustar tots els fitxers que vulgueu i, a continuació, escenificar-los i assignar-los a aquesta branca.

A continuació, podeu introduir aquests canvis a la versió remota de la sucursal:

git push origin changes

Combineu la sucursal remota amb Master mitjançant la sol·licitud d'extracció

Així, un altre programador ha auditat els canvis a la branca remota ( canvis ). Però voleu combinar-la amb la branca mestra i fer-la activa.

Recordeu que la vostra sucursal remota hereta el nom de la vostra sucursal Git local ( canvis ). A continuació s'explica com combinar els canvis:

Canvieu a la branca mestra:

git checkout master

Tireu l'origen o el CAP de la branca ( canvis ) per combinar-lo amb la branca mestra:

git pull origin changes

Introduïu aquesta combinació en directe a la branca mestra:

git push origin master

Utilitzeu Git Merge

Per combinar una branca amb el mestre mitjançant el fitxer vaja comandament:

Migració a la branca mestra:

git checkout master

Combineu-lo amb la branca ( canvis ):

git merge changes

A continuació, empenyeu la combinació en directe fins a la branca mestra:

com es pot veure el títol d'un vídeo de YouTube suprimit
git push origin master

Assegureu-vos que substituïu canvis amb el nom de la vostra sucursal.

Quan la combinació tingui èxit, podeu fer-ho suprimiu la sucursal de forma local i remota si ja no el necessiteu:

Relacionat: Com canviar el nom d'una sucursal a Git

Git Rebase

Si teniu diverses sucursals amb compromisos obsolets, podeu tornar a crear o tornar a enfocar el fitxer cap / ref d 'aquestes branques per heretar el cap / ref d'una actualitzada.

Per tant, tornar a fer servir és útil quan cal actualitzar algunes branques amb la base d’una actual.

Tanmateix, no s’ha de fer una revisió freqüent, sobretot si esteu treballant amb un equip, ja que pot interrompre tot el flux de treball. Però si treballeu sol i esteu familiaritzat amb el vostre flux de treball i les vostres sucursals, la recalcificació no hauria de causar estralls si sabeu on i com utilitzar-lo.

Per exemple, suposem que teniu dues branques; branca1 i branca2. Ara fa temps que no heu fet cap canvi a branch1. Però heu de fer canvis constantment a branch2, fins i tot recentment.

Així que heu decidit portar la branca1 juntament amb el flux. Per tant, tornar a canviar la secció de branca1 a branca2 significa que heu de dir a branca1 que ignori les seves confirmacions anteriors i que hereti la confirmació recent feta a branch2.

A continuació s’explica com podeu fer-ho:

Canvieu a la branca abandonada (branca1):

git checkout branch1

A continuació, torneu a crear la branca1 a la branca2 actualitzada:

git rebase branch2

Git Squash

Git squash us permet combinar diverses confirmacions en una sola. Ajuda quan corre git commit moltes vegades en una sola actualització. Un exemple pràctic és quan cada correcció d'errors o refactor de codi per a una sola característica té una confirmació independent.

Però és possible que no vulgueu empènyer el compromís HEAD amb els acompanyants, ja que tots tenen el mateix propòsit. Un enfocament recomanat és fer-los servir per evitar confusions a l'hora de fer el seguiment dels compromisos.

La millor manera d’esquivar els compromisos és mitjançant el mode de rebase interactiu. Mireu l’exemple següent per entendre-ho millor.

En aquest exemple, suposem que teniu cinc correccions d'errors. I hi ha un compromís per a cadascun d’ells. A continuació s’explica com podeu esmicolar aquests cinc compromisos en un de sol:

Correr git reflog per veure el codi hash de les vostres confirmacions:

git reflog

Aquí teniu el resultat en aquest cas:

Ara el vostre objectiu és aixafar els darrers cinc compromisos, començant per primera correcció Fins a cinquè correcció .

Per fer-ho, copieu el codi hash del commit just a sota primera correcció ( 0a83962 ). A continuació, premeu Q per deixar el reflog .

Ara corre git sobrepassi --interactive sobre aquest hash.

git rebase --interactive 0a83962

A continuació, Git obre un fitxer de rebase interactiu que té aquest aspecte:

Per aixafar els compromisos, excloent el fitxer primera correcció , substituir recollir amb s per a cadascun dels altres compromisos:

Deseu i tanqueu aquest fitxer.

A continuació, s'obre un altre fitxer perquè pugueu canviar el nom del compromís aixafat:

com fer un emoji a l'iPhone

Netegeu-los i escriviu un nom preferit per al compromís aixafat:

Deseu aquest fitxer. A continuació, tanqueu-lo i rebreu un missatge d'èxit al vostre terminal.

Nota: El fitxer interactiu es pot obrir al terminal. Però si utilitzeu Windows, és possible que vulgueu obligar el vostre terminal a obrir fitxers de manera global al vostre editor de text favorit per facilitar la reducció del contingut.

Per fer-ho, obriu la línia d'ordres i executeu:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork vs. Git Clone

Forcat i clonació són dos termes diferents a Git. No podeu bifurcar el dipòsit, ja que ja hi és. Tanmateix, podeu bifurcar el dipòsit d'altres persones i clonar-lo després.

Fer un dipòsit significa que agafeu una còpia del dipòsit d’algú i el feu vostre. Un cop obtingueu una còpia d'aquest dipòsit, podeu clonar-lo de la mateixa manera que ho faríeu amb qualsevol dels vostres repositoris git per als canvis locals.

A continuació s’explica com fer-ho clonar un dipòsit remot a GitHub i inicieu una descàrrega al directori local:

git clone https://github.com/username/repository_name.git/

Restaureu un fitxer al seu estat predeterminat

Si voleu esborrar els canvis d'un fitxer després de l'última confirmació, podeu utilitzar el fitxer restauració de git comandament:

git restore filename

Modifiqueu un compromís

Podeu tornar a una confirmació anterior si oblideu fer canvis en alguns fitxers mentre els organitzeu.

Feu canvis al fitxer que heu oblidat. A continuació, utilitzeu git esmenar per revisar un commit:

git add file_forgotten
git commit --amend

Unstage Files

Podeu eliminar fitxers específics que hàgiu organitzat per a un commit amb vaja rm comandament:

git rm --cached filename

També podeu eliminar diversos fitxers alhora:

git rm --cached file1 file2 file3 file4

Recordeu afegir l’extensió de fitxer corresponent a qualsevol fitxer que eximeixi. Per exemple, hauria de ser un fitxer de text pla nom de fitxer.txt .

Relacionat: Com netejar Git i eliminar fitxers sense rastrejar

Restabliment de Git

Utilitzant restabliment de git és útil si voleu deixar tots els fitxers que heu organitzat per a una confirmació alhora:

git reset

Git reset HEAD, però, apunta el HEAD d'una branca a una confirmació específica del vostre arbre de treball. Per exemple, si encara no heu empès la vostra confirmació actual, podeu tornar a la confirmació recentment empesa:

git reset --soft HEAD~1

Substitueix - suau amb --dur si ja heu empès el commit actual:

git reset --hard HEAD~1

Vés a tornar

A diferència del restableix comandament, vés a revertir manté la integritat del vostre historial de compromisos. És útil si voleu modificar una confirmació per errors o errors.

No abandona la comissió objectiu ni en crea una de nova. En lloc d’això, torna als canvis recents que feu sense suprimir ni canviar el nom d’aquesta confirmació. És una bona manera de mantenir els compromisos més nets i, a més, és més segur que restablir-los tot el temps.

Per tornar a una confirmació:

git revert HEAD~1

On CAP 1 apunta a una confirmació específica a l'arbre de treball.

Suprimiu un fitxer amb seguiment o un directori

Pots fer servir git rm -f per suprimir qualsevol fitxer rastrejat del vostre arbre de treball. Tingueu en compte, però, que Git no pot eliminar fitxers sense rastrejar, ja que no els guarda a la memòria cau.

Per suprimir un fitxer en fases:

git rm -f filename

Per eliminar una carpeta en fases:

git rm -r -f foldername

Registre Git

Per veure els registres de confirmació i l'historial a Git:

git log

Per registrar les activitats en una branca específica:

git log branch_name

Relacionat: Com inspeccionar l’historial d’un projecte amb el registre de git

De vegades és possible que vulgueu tornar a un compromís abandonat. Per tant, per veure les confirmacions abandonades, incloses les pertinents:

git reflog

Per veure els registres de referències d'una branca en particular:

git reflog branch_name

Gestioneu les versions del vostre projecte com un professional amb Git

Amb Git que ofereix molts avantatges, podeu gestionar les versions del vostre projecte de forma remota sense arruïnar fitxers i carpetes a la premissa de la vostra branca principal. A més, us permet executar projectes fàcilment amb un equip.

Com heu vist, Git té moltes funcions que podeu explorar. Però tingueu cura d’utilitzar aquestes funcions amb propòsit. En cas contrari, podríeu acabar trencant coses. Dit això, encara podeu crear un dipòsit remot de demostració i jugar amb aquestes funcions.

Compartir Compartir Tweet Correu electrònic Gestioneu la versió de fitxers com un programador amb Git

Els programadors van crear sistemes de control de versions (VCS) per resoldre problemes de control de versions de fitxers. Vegem els conceptes bàsics del control de versions mitjançant el sistema superior actual, Git.

Llegiu a continuació
Temes relacionats
  • Programació
  • Desenvolupament web
  • GitHub
  • Tutorials de codificació
Sobre l'autor Idisou Omisola(94 articles publicats)

Idowu és un apassionat de qualsevol tecnologia intel·ligent i productivitat. Durant el temps lliure, juga amb la codificació i canvia al tauler d’escacs quan s’avorreix, però també li agrada deixar de banda la rutina de tant en tant. La seva passió per mostrar a la gent el camí cap a la tecnologia moderna el motiva a escriure més.

Més de Idowu Omisola

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us