Si el repositorio de GitHub ha visto nuevas confirmaciones, mientras trabajabas localmente, te recomendaría usar:
git pull --rebase
git push
La sintaxis completa es:
git pull --rebase origin master
git push origin master
Con Git 2.6+ (septiembre de 2015), después de haberlo hecho (una vez)
git config --global pull.rebase true
git config --global rebase.autoStash true
Un simple git pull
sería suficiente.
(Nota: con Git 2.27 Q2 2020 , a merge.autostash
también está disponible para su extracción regular, sin rebase)
De esa forma, volvería a reproducir (la --rebase
parte) sus confirmaciones locales además de la recién actualizada origin/master
(o origin/yourBranch
:) git pull origin yourBranch
.
Vea un ejemplo más completo en el capítulo 6 Pull con rebase del Git Pocket Book .
Yo recomendaría un:
# add and commit first
git push -u origin master
Eso establecería una relación de seguimiento entre su rama maestra local y su rama aguas arriba.
Después de eso, cualquier impulso futuro para esa rama se puede hacer con un simple:
git push
Consulte " ¿Por qué necesito empujar explícitamente una nueva rama? ".
Dado que el OP ya se reinició y rehizo su confirmación además de origin/master
:
git reset --mixed origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin master
No hay necesidad de hacerlo pull --rebase
.
Nota: git reset --mixed origin/master
también se puede escribir git reset origin/master
, ya que la --mixed
opción es la predeterminada cuando se usa git reset
.