Pourquoi je reçois le message “erreur: impossible de pousser des arbitres”?

J'ai un dépôt git distant et local que je travaille avec. Chaque fois que je fais toutes les modifications en local, je les pousse à la télécommande. Ensuite, j'ai parfois faire un "git commit" sur la télécommande enregistrer les modifications sur les fichiers distants.

Je ne modifiez pas le dépôt distant directement à tous. Je viens de valider les modifications. Et je suis un développeur, personne ne travaille, qu'repos.

Pourquoi j'obtiens une erreur que, d'après ce que je sais, signifie que je dois tirer le premier ?

Je ne veux pas tirer parce que la distance repos fichiers sont dépassées et il va perdre mes changements locaux. C'est vraiment ennuyeux, pourquoi est-ce arrivé ? Et comment puis-je réparer sans avoir à tirer ou recréer le référentiel ? (comme vous pouvez le voir, c'est comme une sorte de subversion type de contrôle de version style ici)

EDIT - L'erreur :

To ssh://...
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'ssh://...'
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.
Que voulez-vous dire que vous faites un "git commit" sur le dépôt distant? Est le dépôt distant d'un nu-repo? Vous devez généralement être le poussant à un nu repo, mais vous ne pouvez pas vous engager à un strict repo, je suis un peu confus au sujet de ce que vous essayez de faire. Pouvez-vous montrer un exemple de l'effectif des commandes que vous exécutez, et la sortie réelle que vous obtenez?
eh bien, j'étais un peu méfiant à propos de cette partie, c'est pourquoi je le mentionne. Le repos est créé avec "git init'. Je fais un commit sur le dépôt distant, parce que je ne vois pas de changements dans ce référentiel autrement. Je suis en ajoutant le code pour afficher l'erreur

OriginalL'auteur Spyros | 2011-04-14