Diferencias entre Commit, Commit y Push, Commit and Sync

Estoy usando Visual Studio 2013, y tengo 3 opciones para cuando confirme mi código C #. Necesito una explicación necesaria de las diferencias entre cada una de las opciones con respecto a lo que sucede con mi repository local frente al repository de GitHub.

  • La opción 1 dice Commit
  • La opción 2 dice Commit and Push
  • La opción 3 dice Commit and Sync

No entiendo muy bien la diferencia entre las 2 últimas opciones. ¿Cuándo debería usar Commit and Sync en lugar de Commit and Push?

  1. Commit simplemente hará un logging de los cambios que haya realizado en su máquina local. No marcará el cambio en el repository remoto.
  2. Commit y Push harán lo anterior y lo enviarán al repository remoto. Esto significa que cualquier cambio que haya realizado se saveá en el repository remoto también.
  3. Commit and Sync hace tres cosas. Primero, se comprometerá. En segundo lugar, realizará una extracción (toma la información actualizada del repository remoto). Finalmente, empujará.

Vea más de Microsoft aquí

Para agregar a la respuesta de camiegreenall. Encontré esta útil foto / publicación de tanascius ( aquí ). "Aquí hay una bonita foto de Oliver Steele, que explica el model de git y los commands:" enter image description here

Pago en esto. Será útil para entender push, pull, commit y sync.

https://learn.sparkfun.com/tutorials/using-github-to-share-with-sparkfun/committing-pushing-and-pulling