Local y remoto son idénticos. Luego selecciono desde el control remoto, y local es una confirmación más adelante. ¿Qué?

De vez en cuando me veo afectado por el comportamiento de git. Como entiendo lo que hice a continuación, tomé la versión actual de la twig "pública" en el repository remoto, y reemplacé todo lo que tenía con ella. Nada de lo que estaba trabajando debería estar allí todavía.

Luego saqué "public" del repository remoto nuevamente. Voila! Ahora estoy comprometido por adelantado, localmente.

¿Me puedes decir que es lo que paso?

[edit] La gente muy apropiadamente me preguntó qué versión de git estoy usando. 2.1.4 Agregué un git –version a mi sección de código a continuación.

[email protected] ~/gogo/portal/gogo_flightTracker (public) $ git status # On branch public # Your branch is ahead of 'origin/public' by 1 commit. # nothing to commit (working directory clean) [email protected] ~/gogo/portal/gogo_flightTracker (public) $ git reset --hard origin/public HEAD is now at 30cdb42 Remove O/D from window display if 640px window.innerWidth or less [email protected] ~/gogo/portal/gogo_flightTracker (public) $ git status # On branch public nothing to commit (working directory clean) [email protected] ~/gogo/portal/gogo_flightTracker (public) $ git pull origin public \"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" get: -c: line 0: syntax error near unexpected token `(' \"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" get: -c: line 0: `\"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" get' Username for 'https://github.com': Password for 'https://[email protected]': \"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" store: -c: line 0: syntax error near unexpected token `(' \"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" store: -c: line 0: `\"C:/Program Files (x86)/GitExtensions/GitCnetworkingentialWinStore/git-cnetworkingential-winstore.exe\" store' From https://github.com/gogoit/gogo_flightTracker * branch public -> FETCH_HEAD First, rewinding head to replay your work on top of it... Fast-forwarded public to 2e65060cef06715081e54f776e0f7269e8d65ba7. [email protected] ~/gogo/portal/gogo_flightTracker (public) $ git status # On branch public # Your branch is ahead of 'origin/public' by 1 commit. # nothing to commit (working directory clean) [email protected] ~/gogo/portal/gogo_flightTracker (public) $ [email protected] /cygdrive/c/work/150502 $ git --version git version 2.1.4 

git-pull – Obtenga e integre con otro repository o una sucursal local

En los términos más simples, git pull hace una git fetch seguida de una git merge .

Puede hacer una git fetch en cualquier momento para actualizar sus twigs de rastreo remoto en refs/remotes/<remote>/ . Esta operación nunca cambia ninguna de sus sucursales locales bajo refs/heads , y es seguro hacerlo sin cambiar su copy de trabajo. Incluso he escuchado de personas que ejecutan git fetch periódicamente en un trabajo cron en el background (aunque no recomendaría hacer esto).

Un git pull es lo que haría para actualizar una sucursal local con su versión remota, al time que actualiza sus otras sucursales de seguimiento remoto.

Guión:

Supongamos que existe el siguiente historial y que la twig actual es " master ":

  A---B---C master on origin / D---E---F---G master ^ origin/master in your repository 

Entonces "git pull" obtendrá y reproducirá los cambios desde la twig master remota ya que divergió del maestro local (es decir, E ) hasta su confirmación actual (C) en la parte superior del maestro y registra el resultado en una nueva confirmación junto con el nombres de las dos confirmaciones principales y un post de logging del usuario que describe los cambios.

  A---B---C origin/master / \ D---E---F---G---H master 

Documentación de Git:

git-pull

git-fetch

git-merge