Hero

Como encontrar las diferencias de un archivo en diferentes ramas de GIT

Mayo 03, 2013

roy
GIT

Existe la posibilidad solamente se desee ver cambio hechos a un determinado archivo en un determinado branch o rama, sin la necesidad de un merge o incluso un checkout a ese branch determinado.Aunque también se puede lograr el mismo efecto con commits del mismo Branch.

Como apreciamos a continuación el repositorio cuenta con 3 branchs, y para este ejemplo vamos a trabajar sobre el archivo de documento.js que se encuentra en los 3 branchs.

  1. Determinar los branchs.

<pre title="branch-demo">Roy@LAPTOPDELL01 /D/Roy/7SaboresPost (master)

$ git branch

  chef
* master
  roy

2. Comparar los branchs.

Comando:

git diff  <branch-comparar> <branch-actual> <nombre-archivo>

En este ejemplo se puede apreciar las diferencias entre el documento.js del branch de roy con el documento.js de chef.

<pre title="diff-branch">Roy@LAPTOPDELL01 /D/Roy/7SaboresPost (chef)

$ git diff roy chef documento.js

diff --git a/documento.js b/documento.js

index 94d2fda..9cd4538 100644
--- a/documento.js
+++ b/documento.js

@@ -1,13 +1,21 @@
 /*Nuestro Documento de prueba*/

-Function test (msj){
+function test (msj){
        alert(msj);
 }

-objecto = {};
+function transformarMsj(msj2){
+       return msj2.toUpperCase();
+}
+
+objecto = {
+       this.ObjMsj = function(){
+               return transformarMsj("Hola 7Sabores");
+       }
+};

-objecto.masTest = function(){
-       alert("esto es una prueba");
+objecto.masTest = function(){
+       alert(this.ObjMsj());
 }

 $(document).ready(funtion(){

también se puede obtener el mismo efecto ejecutando el comando con los commits del branch donde se encuentra posicionado, en este ejemplo podemos ver los cambios que hay con el documento.js que se encuentra en el HEAD de master con los que se encontrar con el commit con hash 69a665 ambos en el branch de Master.

<pre title="diff-commits">Roy@LAPTOPDELL01 /D/Roy/7SaboresPost (master)

$ git diff 69a665 HEAD documento.js

diff --git a/documento.js b/documento.js
index 94d2fda..8563539 100644

--- a/documento.js
+++ b/documento.js

@@ -1,16 +1,20 @@
-/*Nuestro Documento de prueba*/
+/*Nuestro Documento de Master*/

-Function test (msj){
+function test (msj){
        alert(msj);
 }

-objecto = {};
+objecto = {
+       this.ObjMsj = function(){
+               return "Hola 7Sabores";
+       }
+};

-objecto.masTest = function(){
-       alert("esto es una prueba");
+objecto.masTest = function(){
+       alert(this.ObjMsj());
 }

 $(document).ready(funtion(){
        objecto.masTest();
-       test("mensaje 2");
+       test("mensaje de Master");
 });
\ No newline at end of file

Bueno espero que esto les ayude.

Adjunto podra encontrar un zip con él repositorio local de git para que puedan ustedes mismos cambiar y ver los elementos presentes en el post.

Tomale el Sabor a los codigos!!! 😊

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.