J'apprends Git, et je suis le livre de la communauté Git.
Auparavant (il y a longtemps), j'ai créé un dépôt public sur Github, avec quelques fichiers. Maintenant, j'ai mis en place un dépôt Git local sur mon ordinateur actuel, et j'ai livré quelques fichiers. Ensuite, j'ai ajouté un pointage distant vers ma page Github :
[root@osboxes c]# git remote add learnc https://github.com/michaelklachko/Learning-C
Cela a semblé être un succès :
[root@osboxes c]# git remote show learnc
* remote learnc
Fetch URL: https://github.com/michaelklachko/Learning-C
Push URL: https://github.com/michaelklachko/Learning-C
HEAD branch: master
Remote branch:
master tracked
Local ref configured for 'git push':
master pushes to master (local out of date)
Je veux maintenant télécharger les fichiers de mon dépôt Github sur mon ordinateur. C'est ce que j'ai fait :
[root@osboxes c]# git fetch learnc
[root@osboxes c]# git merge learnc/master
warning: refname 'learnc/master' is ambiguous.
Already up-to-date.
Cependant, je ne vois pas de nouveaux fichiers dans mon répertoire local. Comment puis-je les obtenir ?
J'ai aussi essayé de le faire :
[root@osboxes c]# git pull learnc master
From https://github.com/michaelklachko/Learning-C
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
BTW, localement je suis sur la branche master (il n'y a pas d'autres branches) :
[root@osboxes c]# git status
On branch master
nothing to commit, working directory clean
4 votes
Lorsque vous avez mis en place votre dépôt local, avez-vous cloné votre dépôt Github ou avez-vous simplement fait
git init
? Dans ce dernier cas, ces dépôts ne sont pas liés (ils n'ont pas de commits communs) et vous ne pouvez pas les fusionner (pull est fetch+merge).0 votes
J'ai fait git init. Dois-je donc cloner mon dépôt Github pour résoudre ce problème ?
1 votes
Vous pouvez cloner votre dépôt Github et continuer à travailler avec lui, mais il s'agira toujours d'un dépôt distinct. Vous voulez fusionner deux historiques sans rapport entre eux ?
0 votes
Je suppose que je veux fusionner des historiques, mais en réalité je veux juste combiner des fichiers à la fois localement et sur github. Je veux dire que je ne me soucie pas vraiment de l'historique des anciens fichiers que j'ai sur Github.
0 votes
Si vous avez vraiment besoin d'un historique local (à partir d'un repo frais que vous avez créé avec
git init
) vous pouvez l'exporter comme une série de correctifs et ensuite essayer de les appliquer au repo cloné. Sinon, il suffit de cloner le repo, d'ajouter les fichiers manquants et de les livrer.0 votes
Super, ça a marché. Cependant, je veux maintenant mettre à jour mon repo Github avec mes fichiers locaux. C'est ce que j'ai fait :
[root@osboxes c]# git push learnc fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream learnc master
Qu'est-ce que cela signifie ?3 votes
stackoverflow.com/a/36528527/2303202