2014-05-21 21 views
20

Stash ermöglicht die automatische Synchronisierung der Gabel, wenn ausgewählt: https://confluence.atlassian.com/display/STASH/Keeping+forks+synchronized
Sie aktualisiert alle Zweige in Ihrem Zweig, die Sie nicht geändert haben.Können Gabeln in gitHub automatisch synchronisiert werden?

Ich konnte ähnliche automatische Funktionalität in gitHub nicht finden; Bei allen Google-Suchen werden manuelle Möglichkeiten zum Synchronisieren von Forks über Ihren lokalen Cache gefunden.

+2

Von meinem Kopf denke ich nicht, dass GitHub diese Art von Feature hat, ich denke, Sie müssen manuell synchronisieren. –

+0

Das ist eine gute Frage, lange Zeit Ärger von mir –

+1

GitHub hat wirklich nette APIs, einschließlich Webhooks und Merging. Ich glaube zwar nicht, dass Sie dies nur mit GitHub tun können, aber ich bin mir sicher, dass Sie einen Bot erstellen (oder finden) können, der Änderungen automatisch in eine Verzweigung zusammenführt, wenn keine Konflikte auftreten. –

Antwort

20

Sie könnten einen webhook definieren, um Upstream-Änderungen (das ursprüngliche Repo) zu hören und Ihre Gabel zu aktualisieren.

Im Juni 2016 haben Sie jetzt den Dienst backstroke.us, der diese Ereignisse für Sie abhört. Keine Notwendigkeit, einen eigenen Listener zu schreiben.
Siehe 1egoman/backstroke

  1. in einem Webhook Erstellen entweder einer Gabel oder eine Upstream-Repository. (Einstellungen => Webhooks & Dienste => Webhook hinzufügen)
  2. Fügen Sie http://backstroke.us als Nutzlast-URL hinzu.
  3. Drücken Sie etwas Code in das Upstream-Repository, um Backstroke in Aktion zu sehen.

https://raw.githubusercontent.com/1egoman/backstroke/master/assets/map.png

In Ihrem Fall müßten Sie den Maintainer der Upstream-Repo (die Sie haben gegabelt) davon zu überzeugen, dass backstroke Webhook zu registrieren.
Sie werden sehen, dass PR (Pull Requests) automatisch auf Ihrem Fork angezeigt werden, damit Sie sie akzeptieren können (damit Sie mit der Entwicklung auf der ursprünglichen Repo-Seite synchron bleiben).

3

Mit GitHub allein können Sie Gabeln nicht automatisch synchronisieren. Sie können jedoch sync forks manually.

Sie können auch die GitHub-API verwenden, um einen Bot zu schreiben, der Forks synchronisiert, wenn Upstream-Repositorys aktualisiert werden.