J'ai créé un nouveau référentiel, cloné-le, ajouté des fichiers au répertoire, ajouté avec add -A
, des modifications validées et, lorsque j'essaie de diffuser à l'aide de git Push <repo name> master
, j'obtiens "Les mises à jour ont été rejetées car la tâche distante contient du travail. que vous n'avez pas ".
Cela ne semble pas avoir de sens car il s’agit d’un nouveau dépôt et ne contient qu’un fichier readme.
Cela se produit si vous avez initialisé un nouveau dépôt github avec le fichier README
et/ou LICENSE
git remote add Origin [//your github url]
//pull those changes
git pull Origin master
//now, Push your work to your new repo
git Push Origin master
Maintenant, vous pourrez pousser votre dépôt vers github. Fondamentalement, vous devez fusionner ces nouveaux fichiers initialisés avec votre travail. git pull
va chercher et fusionne pour vous. Vous pouvez également aller chercher et fusionner si cela vous convient.
L'erreur vient peut-être de la structure différente du code que vous validez et que vous présentez sur GitHub. Cela crée des conflits qui peuvent être résolus par
git pull
Fusionner les conflits en résolvant:
git Push
Si vous confirmez que votre nouveau code est correct, vous pouvez utiliser:
git Push -f Origin master
Où -f
signifie "force commit".
Si c'est votre première poussée
il suffit de changer le
git Push <repo name> master
change le comme ça!
git Push -f <repo name> master
Les réponses fournies ne fonctionnaient pas pour moi.
J'avais un dépôt vide sur GitHub avec seulement le fichier LICENSE et un seul commit localement. Ce qui a fonctionné était:
$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 LICENSE
Vous pouvez vous référer à: Comment traiter avec " refusant de fusionner des historiques non liés " erreur:
$ git pull --allow-unrelated-histories
$ git Push -f Origin master