2013-06-26 2 views
1

C'est la première fois que j'utilise git (sur bitbucket.org - si cela fait une différence) et j'ai commis quelques fichiers audio au repo que je ne veux évidemment pas là. J'ai ajouté ensuite ajouté les chemins d'accès au .gitignore pour découvrir que cela ne fera qu'ignorer d'autres changements. Donc je suis tombé sur this SO question et essayé d'utiliser David Underhill's script qui est mentionné là.Essayé de supprimer des fichiers de git, maintenant les branches sont divergentes et je ne peux pas pousser les changements

Cependant, maintenant je reçois le message suivant pour git commit:

# On branch master 
# Your branch and 'origin/master' have diverged, 
# and have 10 and 10 different commits each, respectively. 
# 
nothing to commit (working directory clean) 

et git push

! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'https://bitbucket.org/abc/def' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again. See the 
'Note about fast-forwards' section of 'git push --help' for details. 

J'ai donc essayé un git push --force qui a réussi, mais ne change pas quoi que ce soit dans le repo et ne montre même pas là-bas.

Savez-vous comment je pourrais résoudre ce problème?

+0

c'est étrange. Faites git push -f et git status et postez toute la sortie s'il vous plait –

Répondre

1

Un git filter-branch va réécrire l'historique de SHA1 de vos validations, de sorte que le message d'erreur est logique.

Si votre dépôt local est sur la branche principale et que ces fichiers sont supprimés, alors git push -f le reflètera sur votre repo bitbucket.

Si ce n'est pas le cas, c'est peut-être parce que vous ne poussez pas le maître local en premier lieu (essayez git push -f origin master pour être sûr). Ir parce que vous êtes (localement) dans un detached head mode.

Questions connexes