Idiota

Git Confronta due rami

Git Confronta due rami

Quasi tutti i sistemi di controllo della versione hanno opzioni di ramificazione. Ma Git è noto per le sue capacità di ramificazione veloce. I rami di Git sono leggeri. Quindi le penalità in termini di prestazioni per il branching sono minime e i team di sviluppo sono incoraggiati a branch e unire il più possibile. Ma quando lavori con più rami, è importante essere in grado di confrontare e contrastare le differenze. In questo tutorial, esamineremo un flusso di lavoro per vedere come possiamo confrontare vari rami e commit.Per prima cosa impostiamo la seguente situazione:

C00  =>  C01 => C03  => C06 (principale)

      \

       C02 => C04 => C05 (sviluppo)

Sono stati effettuati i seguenti passaggi:

Dopo tutti i commit, il ramo 'master' ha i seguenti file:

Ciao mondo.pi
leggimi.TXT

E il ramo "sviluppo" ha i seguenti file:

Ciao mondo.pi
Informazioni.TXT


Confrontando le teste di due rami

Puoi usare il nome dei rami per confrontare le teste di due rami:

$ git diff master… sviluppo
diff --git a/hello_world.py b/ciao_mondo.pi
indice e27f806… 3899ed3 100644
--- a/ciao_mondo.pi
+++ b/ciao_mondo.pi
@@ -2,7 +2,7 @@
def principale():
print("Primo ciao!")
- print("Secondo ciao!")
-
+ print("Il ramo di sviluppo saluta")
+ print("Il ramo di sviluppo saluta di nuovo")
if __name__ == "__main__":
principale()
diff --git a/info.txt b/informazioni.TXT
nuova modalità file 100644
indice 0000000… 0ab52fd
--- /dev/null
+++ b/informazioni.TXT
@@ -0,0 +1 @@
+Nuova informazione
diff --git a/readme.txt b/leggimi.TXT
modalità file cancellato 100644
indice e29c296… 0000000
--- a/leggimi.TXT
+++ /dev/null
@@ -1,2 +0,0 @@
-1 Prima riga del file readme.TXT
-2 Seconda riga del readme.TXT

Il comando diff sta esaminando ricorsivamente le modifiche. Ha eseguito le seguenti differenze:

diff -git a/hello_world.py b/ciao_mondo.pi
diff -git a/info.txt b/informazioni.TXT
diff -git a/readme.txt b/leggimi.TXT

Qui 'a' sta per il ramo 'master' e 'b' sta per il ramo di sviluppo. La 'a' è sempre assegnata al primo parametro e la 'b' al secondo parametro.  Il /dev/null significa che il ramo non ha il file.


Confronto tra commit

Nel nostro esempio, il ramo 'master' ha i seguenti commit:

$ git stato
Sul maestro di filiale
niente da eseguire, pulizia della directory di lavoro
$ git log --oneline
caa0ddd C06: Readme modificato.txt per aggiungere la seconda riga (ramo principale)
efaba94 C03: Aggiunto readme.txt (ramo principale)
ee60eac C01: modificato hello_world.py per aggiungere un secondo ciao (ramo principale)
22b4bf9 C00: Aggiunto hello_world.py (ramo principale)

Il ramo di sviluppo ha i seguenti commit:

$ git stato
Sullo sviluppo del ramo
niente da eseguire, pulizia della directory di lavoro
$ git log --oneline
df3a4ee C05: Aggiunte informazioni.txt (ramo di sviluppo)
0f0abb8 C04: modificato hello_world.py per aggiungere il ramo di sviluppo dice di nuovo Hello (ramo di sviluppo)
3f611a0 C02: modificato hello_world.py per aggiungere il ramo di sviluppo dice Hello (ramo di sviluppo)
22b4bf9 C00: Aggiunto hello_world.py (ramo principale)

Supponiamo di voler confrontare hello_world.py per commit C01 e C02. Puoi usare gli hash per confrontare:

$ git diff ee60eac:hello_world.py 3f611a0:ciao_mondo.pi
diff --git a/ee60eac:hello_world.py b/3f611a0:ciao_mondo.pi
indice e27f806… 72a178d 100644
--- a/ee60eac:ciao_mondo.pi
+++ b/3f611a0:ciao_mondo.pi
@@ -2,7 +2,7 @@
def principale():
print("Primo ciao!")
- print("Secondo ciao!")
+ print("Il ramo di sviluppo saluta")
if __name__ == "__main__":
principale()

Puoi usare lo stesso principio anche per confrontare i commit all'interno dello stesso ramo.


Strumenti di unione visiva

Guardare i confronti basati sul testo può essere difficile. Se imposti Git difftool con un'applicazione di unione visiva come DiffMerge o BeyondCompare, sarai in grado di vedere meglio le differenze.

Ulteriori studi:

Riferimenti:

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...