Question Tirez les nouvelles mises à jour du référentiel GitHub original vers le référentiel GitHub


J'ai forké le référentiel de quelqu'un sur GitHub et je voudrais mettre à jour ma version avec les validations et mises à jour faites dans le dépôt original. Ceux-ci ont été faits après que j'ai fourché ma copie.

Comment puis-je intégrer les modifications apportées à l'origine et les intégrer dans mon référentiel?


522
2017-10-11 06:06


origine


Réponses:


Vous devez ajouter le référentiel d'origine (celui que vous avez bifurqué) en tant que distant.

Du Page de manuel de GitHub:

fork

Une fois le clone terminé, votre repo aura un nom distant "origin"Cela pointe vers votre fourchette sur GitHub.
  Ne laissez pas le nom vous confondre, cela ne pointe pas vers le repo original dont vous vous êtes servi. Pour vous aider à garder une trace de ce repo, nous allons ajouter un autre distant nommé "en amont":

$ cd github-services
$ git remote add upstream git://github.com/pjhyett/github-services.git
$ git fetch upstream

# then: (like "git pull" which is fetch + merge)
$ git merge upstream/master master

# or, better, replay your local work on top of the fetched branch
# like a "git pull --rebase"
$ git rebase upstream/master

Vous avez aussi ruby gem qui peut faciliter ces opérations GitHub.

forked

Voir également "Git fork est git clone?".


604
2017-10-11 06:12



En plus de la réponse de VonC, vous pouvez le modifier encore plus à votre goût.

Après l'extraction à partir de la branche distante, vous devez toujours fusionner les validations. Je remplacer

$ git fetch upstream

avec

$ git pull upstream master

git pull est essentiellement git fetch + git merge.


87
2017-09-17 17:24



Ce vidéo montre comment mettre à jour une fourchette directement depuis GitHub 

Pas:

  1. Ouvrez votre fourche sur GitHub.
  2. Cliquer sur Pull Requests.
  3. Cliquer sur New Pull Request. Par défaut, GitHub compare l'original avec votre fourche, et il ne devrait y avoir aucune comparaison si vous n'avez effectué aucun changement.
  4. Cliquer sur switching the base. Maintenant, GitHub va comparer votre fourche avec l'original, et vous devriez voir tous les derniers changements.
  5. Cliquer sur Create a pull request pour cette comparaison et attribuez un nom prévisible à votre demande d'extraction (par exemple, Mettre à jour depuis l'original).
  6. Cliquer sur Create pull request.
  7. Faites défiler vers le bas et cliquez Merge pull request et enfin Confirm fusionner. Si votre fourche n'a pas été modifiée, vous pourrez la fusionner automatiquement.

58
2018-05-20 08:06



Utilisation:

git remote add upstream ORIGINAL_REPOSITORY_URL

Cela définira votre amont vers le référentiel dont vous avez bifurqué. Alors faites ceci:

git fetch upstream      

Cela ira chercher toutes les branches, y compris le maître du référentiel d'origine.

Fusionnez ces données dans votre branche maître locale:

git merge upstream/master

Poussez les modifications dans votre référentiel fourré, par exemple à l'origine:

git push origin master

Voila! Vous avez terminé la synchronisation du référentiel d'origine.


35
2018-02-18 18:05



Si vous utilisez l'application de bureau GitHub, il y a un bouton de synchronisation dans le coin supérieur droit. Cliquez dessus alors Update from <original repo> près du haut à gauche.

S'il n'y a pas de modifications à synchroniser, cela sera inactif.

Voici quelques captures d'écran pour rendre cela facile.


1
2018-04-02 03:30