2011-01-29 6 views
14

Tengo un repositorio público. Nadie más ha bifurcado, tirado o hecho nada más. Hice algunos cambios menores en un archivo, los comprometí con éxito y traté de impulsarlos. Dice 'Todo actualizado'. No hay ramas Soy muy, muy nuevo en git y no entiendo qué demonios está pasando.git push dice todo actualizado cuando definitivamente no es

git remote show origin me dice:

HEAD branch: master 
    Remote branch: 
    master tracked 
    Local ref configured for 'git push': 
    master pushes to master (up to date)

Alguna idea de lo que puedo hacer para que este entienda que no es hasta la fecha?

Gracias

actualizaciones: git status:

# On branch master 
# Untracked files: 
# (use "git add ..." to include in what will be committed) 
# 
#  histmarkup.el 
#  vendor/yasnippet-0.6.1c/snippets/ 
no changes added to commit (use "git add" and/or "git commit -a")

git branch -a:

* master 
    remotes/origin/master

git fsck:

dangling tree 105cb101ca1a4d2cbe1b5c73eb4a238e22cb4998 
dangling tree 85bd0461f0fcb1618d46c8a80d3a4a7932de34bb

Actualización 2: volví a abrir el archivo modificado, y las modificaciones que SÍ había hecho desaparecieron. Así que los agregué de nuevo, pasé por el rigamarole de git status, git add filename, git commit -m "(message)" y git push origin master, y de repente funciona de la manera en que se supone que debe hacerlo.

Actualización 3: git reflog de salida:

009251 [email protected]{0}: commit: added copy/paste keybindings 
06920f9 [email protected]{1}: commit: Minor .gitignore tweak 
84aa30c [email protected]{2}: checkout: moving from master to master 
84aa30c [email protected]{3}: checkout: moving from ec16cca979045547a5444e20f48ed468dee81dd4 to master 
ec16cca [email protected]{4}: commit: Added keybindings for copy/paste 
5c4a611 [email protected]{5}: commit: remember-mode keybinding to M-R 
f3e4729 [email protected]{6}: commit: Correcting last push which wiped out some stuff 
fa28a3e [email protected]{7}: checkout: moving from master to fa28a3ed80eb0c6d4375ae77060d5cb4143d6a8e^0 
84aa30c [email protected]{8}: commit: Modified keybindings, added LaTeX hook 
10e7718 [email protected]{9}: commit: Added a few keybindings 
d62378b [email protected]{10}: commit (initial): first commit
+0

¿Cómo presionaste? ¿Cuál fue el resultado del comando push? ¿Qué te muestra 'git log --decorate'? –

+0

Empujé con 'git push origin master'. El resultado fue "Todo actualizado". 'git log --decorate' me muestra 3 confirmaciones, incluidas las de ayer, pero no las de hoy. – Wolf

+0

¿Has intentado tirar desde el otro lado? ¿Eso funciona? – Tom

Respuesta

11

EDIT: Esto parece que no es la solución correcta, ver los comentarios a la pregunta. Dejo la respuesta porque el git agrega en lugar de cometer errores, una pista podría ayudar a alguien en el futuro.

Hola, ¿has añadido antes de comprometerte? algo así como

git add . 

(no se olvide del punto)

antes de la

git commit -m "what you changed" 

(Encuentro este sitio útil para conseguir ir - http://gitref.org/remotes/#push)

+0

Técnicamente, ejecuté git commit -a -m '(message)' Wolf

+1

@wolf El -a solo agrega un archivo si el archivo ya está siendo rastreado - dale una oportunidad al comando agregar y ve si eso ayuda – Tom

+0

El archivo ya fue rastreado, y 'git status -s' correctamente lo mostró como modificado. Después de 'git commit -a -m" (message) "' ya no aparece como modificado. Intenté 'git add filename' (porque hay algunas cosas en el directorio que aún no quiero rastrear) y push still dice 'Todo al día'. – Wolf

12

Trate

git config push.default tracking 

http://git-scm.com/docs/git-config:

push.default

Define el empuje acción git debe tomar si no se da refspec en la línea de comandos, sin refspec se configura en el mando a distancia, y sin refspec está implícito en cualquiera de las opciones que se ofrecen en la línea de comando.Los valores posibles son:

* nothing - do not push anything. 
* matching - push all matching branches. All branches having the same name in both ends are considered to be matching. This is the default. 
* upstream - push the current branch to its upstream branch. 
* tracking - deprecated synonym for upstream. 
* current - push the current branch to a branch of the same name. 
+1

Estaba increíblemente trabado con todo lo que estaba" actualizado ". – sayth

+0

"git config push.default tracking" Esto es perfecto y actualizado mi repo – Sajeev

+0

¡Gracias! ¡Solucionó mi problema! Ocurrió antes de que definiera una rama predeterminada para presionar – aaamourao

4

Uso

git push upstream yourlocalbranch:master 

donde yourlocalbranch podría ser master (que probablemente sería su copia local de origin master) o cualquier otra rama. Si no está seguro, use las opciones --verbose y --dry-run.

+0

Gracias, solo esto resolvió mi problema – sdbbs