Je déteste ajouter une autre réponse, mais mon scénario particulier n'est pas tout à fait couvert ici. J'avais un repo local avec un historique des modifications que je voulais préserver, et un repo non vide créé pour moi sur Github (c'est-à-dire avec le README.md par défaut). Oui, vous pouvez toujours recréer le repo Github en tant que repo vide, mais dans mon cas, quelqu'un d'autre a les autorisations pour créer ce repo particulier, et je ne voulais pas le déranger, s'il y avait une solution de contournement facile.
Dans ce scénario, vous rencontrerez cette erreur lorsque vous tenterez de git push
après avoir réglé l'origine à distance :
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Comme l'indique l'erreur, j'ai dû faire une git pull
après avoir défini l'origine distante, mais j'avais besoin de spécifier l'adresse de l'utilisateur. --allow-unrelated-histories
option. Sans cette option, git pull
se plaint warning: no common commits
.
Voici donc la séquence exacte de commandes qui a fonctionné pour moi :
git remote add origin <github repo url>
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push