Je me suis rendu compte que j'avais mis mon user.name
mal, donc j'ai utilisé this answer pour corriger les commits incorrects. Localement, ça a bien marché. Cependant, git me dit maintenantComment puis-je transmettre les validations corrigées à un référentiel distant?
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 15 and 15 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
#
nothing to commit, working directory clean
Alors, maintenant, je dois envoyer en quelque sorte mes changements à mon dépôt GitHub, mais quand je pousse:
$ git push
WARNING: gnome-keyring:: couldn't connect to: /run/user/mspencer/keyring-uscL41/pkcs11: No such file or directory
Username for 'https://github.com': iBeliever
Password for 'https://[email protected]':
To https://github.com/iBeliever/weather-desktop.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/iBeliever/weather-desktop.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Je ne suis pas tout à fait sûr de savoir comment résoudre ce problème . J'ai traité des changements à distance auparavant, et les ai résolus en tirant et fusionnant, mais je ne suis pas sûr que faire dans ce cas. J'ai besoin de mettre à jour mon dépôt GitHub avec les noms corrigés, comment faire?
J'ai lu plusieurs fois que 'git push -f' est dangereux, mais je ne sais pas pourquoi. Est-ce seulement dangereux quand d'autres personnes ont des clones du dépôt? Je suis le seul à travailler sur le projet, alors est-ce sûr dans ce cas? – iBelieve
Il est dangereux car vous forcez une mise à jour du référentiel distant qui risque de perdre des validations. Si vous avez le journal git A-> B-> C, il est possible de vérifier localement la validation B, puis de forcer l'envoi d'une mise à jour vers le référentiel distant. La télécommande aurait alors l'historique A-> B. Si vous êtes le seul à avoir accès au référentiel et que vous êtes en train de pousser un état du référentiel avec lequel vous êtes à l'aise. Alors vous devriez être libre et clair. Il suffit de savoir que git push -f origine peut avoir des conséquences non-réversibles. –
atreat