documentación completa está aquí: https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html
Suponga que tiene un acuerdo de recompra que tiene este aspecto:
base - A - B - C - D (master)
\
\- X - Y - Z (myBranch)
verificar el estado de recompra:
> git checkout master
Already on 'master'
> git status ; git log --oneline
On branch master
nothing to commit, working directory clean
d9addce D
110a9ab C
5f3f8db B
0f26e69 A
e764ffa base
y para MyBranch:
> git checkout myBranch
> git status ; git log --oneline
On branch myBranch
nothing to commit, working directory clean
3bc0d40 Z
917ac8d Y
3e65f72 X
5f3f8db B
0f26e69 A
e764ffa base
Supongamos que está en myBranch, y desea solo cambios DESDE el maestro. Utilice la versión de dos puntos:
> git log --oneline master..myBranch
3bc0d40 Z
917ac8d Y
3e65f72 X
La versión de tres puntos da todos los cambios desde la punta del maestro a la punta de MyBranch. Sin embargo, tenga en cuenta que el común cometer B no está incluido:
> git log --oneline master...myBranch
d9addce D
110a9ab C
3bc0d40 Z
917ac8d Y
3e65f72 X
POR FAVOR: git log
y git diff
comportan de manera diferente! El comportamiento no es exactamente opuesta, pero casi:
> git diff master..myBranch
diff --git a/rev.txt b/rev.txt
index 1784810..e900b1c 100644
--- a/rev.txt
+++ b/rev.txt
@@ -1 +1 @@
-D
+Z
> git diff master...myBranch
diff --git a/rev.txt b/rev.txt
index 223b783..e900b1c 100644
--- a/rev.txt
+++ b/rev.txt
@@ -1 +1 @@
-B
+Z
Por lo tanto, la versión de dos puntos muestra el diff desde la punta del maestro (es decir, D) a la punta de MyBranch (Z). La versión de tres puntos muestra la diferencia desde la base de myBranch (es decir, B) hasta la punta de myBranch (Z).
relacionadas: [¿Cómo conseguir los cambios en una sucursal en git] (http://stackoverflow.com/questions/53569/how- to-get-the-changes-on-a-branch-in-git) –