Come trasferire le modifiche da un ramo all'altro in Git

How Pull Changes From One Branch Another Git



Un repository git contiene uno o più branch per gestire il codice in modo efficiente. A volte, gli utenti git devono lavorare con più rami contemporaneamente e richiedono di passare da un ramo all'altro con le modifiche apportate dal ramo precedente al ramo corrente prima del commit. Questa attività può essere eseguita utilizzando più modi in git. Il comando stash può essere utilizzato dal terminale e unire i comandi dal desktop GitHub per trasferire le modifiche da un ramo a un altro ramo in questo tutorial.

Prerequisiti

1. Installa GitHub Desktop
GitHub Desktop aiuta l'utente git a eseguire graficamente le attività relative a git. Puoi facilmente scaricare l'ultimo programma di installazione di questa applicazione per Ubuntu da github.com. È necessario installare e configurare questa applicazione dopo il download per utilizzarla. Puoi anche controllare il tutorial per l'installazione di GitHub Desktop su Ubuntu per conoscere correttamente il processo di installazione.







2. Crea un account GitHub
Sarà necessario creare un account GitHub per controllare l'aspetto del repository remoto dopo aver pubblicato la modifica del repository locale.



3. Crea un repository locale
Devi creare un repository locale per controllare i comandi utilizzati in questo tutorial.



Uso del comando scorta

Il repository locale denominato PHP2 è stato utilizzato in questo tutorial per mostrare come eseguire il pull delle modifiche da un ramo a un altro ramo del repository. Crea un file chiamato index.html nel deposito. Apri il terminale e vai alla cartella del repository. Eseguire i seguenti comandi per controllare l'elenco dei rami, passare al ramo principale e visualizzare lo stato del ramo.





$ git branch
$ git checkout master
$ git stato

Il seguente output apparirà dopo aver eseguito il comando precedente. L'output mostra che il repository contiene due rami e il principale filiale era inizialmente attiva. Dopo essere passati a maestro ramo, l'uscita dello stato indica che il ramo corrente è attivo e index.html il file non è tracciato.



Esegui i seguenti comandi per tenere traccia del file non tracciato e controlla nuovamente lo stato del repository git.

$ git add index.html
$ git stato

Il seguente output apparirà dopo aver eseguito i comandi precedenti. L'output dello stato mostra che index.html il file viene aggiunto al repository ma deve essere eseguito il commit.

Esegui i seguenti comandi e controlla nuovamente lo stato del repository git. Il comando `git stash` funziona come il comando `git commit`. La directory di lavoro del repository verrà pulita dopo l'esecuzione di questo comando.

$ git stash
$ git stato

Il seguente output apparirà eseguendo i comandi sopra.

Dopo aver eseguito il comando stash per un ramo, se l'utente git vuole trasferire le modifiche del ramo in un altro ramo, può essere fatto facilmente usando il comando `git stash pop` che funziona come il comando `git merge`. Esegui i seguenti comandi per passare a il principale ramo e tirare le modifiche dal maestro ramo per il principale ramo.

$ git checkout main
$ git stash pop

Il seguente output apparirà dopo aver eseguito il comando precedente che mostra che il ramo corrente è principale e il index.html il file viene aggiunto in questo ramo.

Eseguire il comando seguente per eseguire il commit dell'attività precedente con il messaggio di commit e controllare nuovamente lo stato.

$ git commit -m 'file indice aggiunto'
$ git stato

Il seguente output apparirà dopo aver eseguito i comandi precedenti. L'output dello stato mostra che l'albero di lavoro è pulito ora dopo il commit.

Se le modifiche al repository locale vengono inviate al repository remoto e il repository remoto viene aperto da github.com, il repository avrà l'aspetto dell'immagine seguente.

Uso del comando di unione

Questa parte di questo tutorial mostra un altro modo per trasferire le modifiche da un ramo a un altro ramo. Il repository locale denominato file di lettura ha usato qui. Crea un file chiamato read.php nella posizione del repository. Eseguire i seguenti comandi per passare al ramo principale, aggiungere il file read.php e eseguire il commit dell'attività. Il comando branch visualizzerà l'elenco dei branch. Il comando checkout commuterà il branch in master. Il comando status visualizzerà lo stato attuale del ramo. Il comando add aggiungerà il file non tracciato nel repository. Il comando commit confermerà l'attività.

$ git branch
$ git checkout master
$ git stato
$ git add read.php
$ git commit -m 'Lo script di lettura è stato aggiunto'

Il seguente output apparirà dopo aver eseguito i comandi precedenti. Il file read.php è stato aggiunto al ramo principale del repository e anche l'attività è stata confermata.

Dopo aver completato l'attività di cui sopra, se le modifiche apportate nel maestro filiale richiede il trasferimento nel principale ramo, allora la fusione comando può essere utilizzato per eseguire questa attività. Il comando di unione può essere utilizzato dal terminale o utilizzando l'applicazione GitHub Desktop. Il modo di utilizzare GitHub Desktop per unire i rami è mostrato in questa parte del tutorial. Apri il repository locale in GitHub Desktop. Aprire la finestra di dialogo dell'elenco dei rami facendo clic su l'elenco delle filiali dal Visualizzazione menu e selezionare il principale ramo come ramo attivo. Ora, fai clic su Unisciti al ramo attuale... dal Ramo menù. Seleziona il maestro ramo dalla finestra di dialogo e fare clic su Unisci master in main pulsante per tirare le modifiche del maestro ramificarsi in il principale ramo. Puoi eliminare il maestro branch dopo aver completato l'operazione di unione se il ramo non richiede il repository.

Conclusione

In questo tutorial sono stati mostrati due modi diversi per trasferire le modifiche da un ramo a un altro ramo utilizzando due repository locali demo. Il scorta e andare i comandi di git sono stati usati qui per svolgere il compito. Il desktop GitHub è stato utilizzato in questo tutorial per mostrare il modo di unire i rami graficamente.