J'ai débordé un parent: project à l'enfant: this. Maintenant, je veux mettre à jour mon enfant avec les mises à jour actuelles des parents. Puis-je faire cela, si oui comment? Lorsque je mets à jour mon repo github, je peux faire un "git pull" pour mettre à jour mon repo local.Mettre à jour mon repo github qui est forké d'un autre projet
Répondre
Dans votre clone local de l'enfant, tirer de parent, l'ajouter comme une télécommande si vous le souhaitez:
cd child
git remote add parent <parent-url>
git pull parent
L'URL du parent pourrait être le repo github public, ou votre clone local - le clone local sera bien sûr plus rapide. Si vous souhaitez extraire une branche autre que la HEAD actuelle du référentiel parent, ajoutez simplement un argument (par exemple, git pull parent topic-branch
). S'il s'agit d'une opération ponctuelle, vous pouvez simplement ignorer l'ajout de la télécommande: git pull <parent-url> [branch]
. L'extraction est une combinaison de récupération et de fusion, donc une fois que vous avez fait cela, vous avez un nouveau commit de fusion que vous aurez probablement envie de repasser à votre dépôt public à un moment donné. Le point clé ici, dans le cas où ce n'est pas clair, est que tirer du référentiel parent (en amont) n'est pas différent de tirer de votre clone public de l'enfant, votre référentiel actuel. Quoi qu'il en soit, vous allez chercher dans un dépôt avec un historique commun, et fusionnez-le dans votre branche actuelle. Et bien sûr, puisque vous fusionnez, un arbre de travail est nécessaire - c'est quelque chose qui doit être fait dans votre dépôt local. Le repo hébergé sur github est essentiellement un moyen de publier ce que vous avez fait localement. Tout ce que vous pouvez vraiment faire avec c'est pousser/tirer, et parcourir ce qui est là.
J'ai une erreur 'Vous avez demandé à tirer de la télécommande 'origine', mais n'a pas spécifié de branche. Parce que ce n'est pas la télécommande configurée par défaut pour votre branche actuelle, vous devez spécifier une branche sur la ligne de commande 'quand j'ai fait' git pull parent'. Vous pouvez rapidement le parcourir avec 'git pull parent master'. Ceci est juste une solution si vous travaillez directement dans votre branche principale ou si vous n'avez qu'une seule branche ou si vous n'avez aucune idée de ce qu'est une branche et que vous voulez juste fusionner rapidement. Genre de la solution nouvelle-abeille ou si vous juste une solution rapide pour introduire un petit changement. –
Vous voulez:
git pull git://github.com/voldemort/voldemort.git
donc, par cette commande, mon dépôt local sera mis à jour mais qu'en est-il de mon projet enfant sur github? Je vais pousser ça à mon enfant github? – zengr
@zengr: 'git pull' est une combinaison de' git fetch' et 'git merge'.En effet, il fusionne une branche du référentiel distant dans votre branche actuelle. Comme avec tout autre travail que vous faites dans votre dépôt local, pour l'obtenir à la télécommande, vous le poussez. – Cascabel
Comme d'autres l'ont recommandé, 'git remote add parent', en quoi cela diffère-t-il de votre approche de' git pull'? – zengr
- Clone votre repo à votre machine locale, si vous avez pas déjà:
git clone [email protected]:utkarsh2012/voldemort.git
- Ajouter l'amont comme une nouvelle télécommande:
git remote add upstream git://github.com/voldemort/voldemort.git
- Avec votre branche extraite, tirer en amont dans votre branche, qui va créer une fusion entre les deux ensembles de changements:
git pull upstream
ougit pull upstream branch-to-merge
. Si vous travaillez sur une branche non piquée, vous pouvez également utilisergit fetch
etgit rebase
pour rebaser votre travail sans avoir besoin d'une fusion.
Cela peut aussi être fait simplement sur l'interface Web de GitHub: délivrer un Pull Demande mais remplacez le repo de base et tête repo. Si la traction peut être effectuée automatiquement, ce sera le cas.
** Attention ** si vous faites cela, il ajoute un commit dans votre projet forké. Donc, vous finissez un engagement avant le projet parent. –
- 1. Github doute - repo de synchronisation
- 2. s'engager à git repo à partir d'une deuxième machine [Github]
- 3. après avoir lancé un projet github, comment puis-je rester à jour avec le projet d'origine?
- 4. Mise à jour de plusieurs branches d'un dépôt forked sur Github
- 5. Cloner une partie de Git repo dans un autre repo
- 6. Mise à jour d'un wiki de projet GitHub via l'API GitHub
- 7. Comment dire à git d'ignorer tout autre modification dans un seul fichier sans le retirer du repo
- 8. Comment mettre en miroir un dépôt SVN GitHub SVN dépôt hébergé dans un autre lieu
- 9. Entity Framework: Mettre à jour l'entité lorsqu'une autre entité est mise à jour
- 10. créer un repo git pour le squelette du projet
- 11. Est-il acceptable de mettre un projet Open Source existant dans github?
- 12. Projet Silverlight ne pas mettre à jour lorsque Ran
- 13. Comment puis-je tirer mon projet de github?
- 14. Dois-je mettre à jour mon projet de Cake 1.2.5 à CakePHP 1.3.0?
- 15. Mettre à jour un onglet à partir d'un autre onglet?
- 16. Forking privé git repo dans github.com
- 17. Github. Comment apporter des modifications à ce qui est ignoré via .gitignore?
- 18. Silverlight mettre à jour mes objets source, comment mettre à jour mon interface utilisateur
- 19. Comment réduire la taille d'un repo sur Github
- 20. LINQ2SQL: Mettre à jour un champ d'entité qui a une référence à une autre entité
- 21. Comment mettre à jour les entités qui ont une relation?
- 22. Mettre à jour une liste à partir d'une autre
- 23. façon simple d'ajouter un autre cadre webapp à mon projet
- 24. Puis-je mettre à jour un projet de plugin Eclipse, qui est simplement un wrapper autour d'un pot?
- 25. Mettre à jour RSS à partir d'un autre fichier XML?
- 26. parties clone d'un projet github
- 27. comment mettre à jour une étiquette xib d'une autre classe
- 28. Comment mettre à jour symfony?
- 29. HG: Mettre à jour un répertoire à une révision spécifique sans cloner tout le repo?
- 30. Comment automatiser le maintien de mon projet TortoiseSVN à jour?
Vous l'avez en arrière - vous faites votre travail dans votre dépôt local, puis faites pousser git pour mettre à jour la télécommande. – Cascabel
Oui, je comprends cela, mais il y a peu de changements dans le projet original que je dois incorporer dans ma copie de travail. C'est pourquoi j'ai besoin de mettre à jour mon rapport local avec les mises à jour du projet original tout en gardant mes changements de code en local intacts. – zengr
C'est exactement ce que nous avons tous expliqué comment faire. Je fais simplement remarquer que vous ne "mettez pas à jour le repo de github, alors ... tirez pour mettre à jour votre repo local" - vous mettez à jour le repo local, puis vous passez au repo de github. – Cascabel