it-swarm.com.de

Wie trage ich in GitHub zum Code anderer bei?

Ich möchte in GitHub zu einem bestimmten Projekt beitragen. Soll ich es gabeln ? Verzweigen Sie? Was wird empfohlen und wie geht das?

229
wizztjh

Idealerweise Sie:

  1. Fork das Projekt
  2. Führen Sie einen oder mehrere gut kommentierte und bereinigte Commits für das Repository aus. Sie können hier eine neue Verzweigung erstellen, wenn Sie mehr als ein Teil oder Feature ändern.
  3. Führen Sie eine Pull-Anforderung in der Weboberfläche von Github aus.

wenn es sich um eine neue Feature-Anforderung handelt, starten Sie die Codierung nicht zuerst. Denken Sie daran, ein Problem zu veröffentlichen, um die neue Funktion zu diskutieren.

Wenn die Funktion ausführlich besprochen wurde und einige +1 vorliegen oder der Projektbesitzer sie genehmigt hat, weisen Sie das Problem sich selbst zu, und führen Sie dann die obigen Schritte aus.

Einige Projekte verwenden das Pull-Request-System nicht. Wenden Sie sich an den Autor oder die Mailingliste, um zu erfahren, wie Sie Ihren Code wieder in das Projekt integrieren können.

180
Yann Ramin

Als Ergänzung zu Yanns Antwort können Sie nach dem Verzweigen eines Projekts einen beliebigen Zweig (einen neuen oder einen Zweig aus dem ursprünglichen Projekt) entwickeln.

Erinnere dich an:

31
VonC

Um die Antworten von Yan und VonC zu ergänzen, ist dies eine gute Ressource von github selbst: http://help.github.com/forking/

Achten Sie auch darauf, dass Sie in der rechten Seitenleiste unter der Überschrift "Zusammenarbeit" nachsehen.

15
brycemcd

Es gibt ein großartiges Railscast-Video hier , das Sie durch den Prozess führt. Es enthält auch eine Reihe guter Tipps, wie Sie feststellen können, an welchem ​​Zweig Sie möglicherweise arbeiten möchten, wenn Sie Beiträge leisten, Tests, Submodule usw. verwenden.

Während sich dieser Screencast in erster Linie an Rails Entwickler richtet, gelten die meisten Informationen für Beiträge zu Open Source-Projekten.

10
SnapShot

Github hat viele Möglichkeiten, an einem Projekt zusammenzuarbeiten. Das am häufigsten verwendete Modell ist ein Pull-Request-Modell. Ich habe ein Projekt gestartet, um Leuten zu helfen, ihre erste GitHub-Pull-Anfrage zu stellen. Sie können das praktische Tutorial zu machen Sie Ihre erste PR hier

Der Workflow ist so einfach

  • Gabeln Sie das Repo in Github
  • Klonen Sie das Repo auf Ihren Computer
  • Machen Sie eine Verzweigung und nehmen Sie die notwendigen Änderungen vor
  • Übertragen Sie Ihre Änderungen auf GitHub git Push Origin branch-name
  • Gehe auf GitHub zu deinem Fork, um ein Compare and pull request Taste
  • Klicken Sie darauf und geben Sie die erforderlichen Details an
4
sudo bangbang

lornajane hat einen Blog-Beitrag, der den Prozess gut erklärt: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github

3
dan_nl

Technischer Workflow

Ich würde den folgenden Workflow vorschlagen:

  1. Fork das Repository (über GitHub Webinterface: "Fork" Button)
  2. Kopieren Sie in Ihrem Forked-Repository die URL
  3. Klonen (in der Kommandozeile)

    git clone <url-from-your-workspace>

  4. Geben Sie das gerade erstellte Verzeichnis ein und erstellen Sie eine Verzweigung

    cd <directory> git checkout -b <branchname>

  5. Nehmen Sie nun Ihre Änderungen vor

  6. Sie können nach jeder Änderung ein oder mehrere Commits erstellen:

    commit -a

  7. Wenn Sie fertig sind, drücken Sie Ihre Änderungen

    git Push Origin <branch>

  8. In Ihrer Befehlszeile sollten Sie siehe eine URL zum Erstellen des PR . Besuchen Sie die URL und klicken Sie auf die Schaltfläche, um eine PR zu erstellen.

  9. Wenn nicht, besuchen Sie das Repository im Browser und es wird Ihnen eine Schaltfläche zum Erstellen der Pull-Anfrage angeboten

Das ist es.

Im Grunde genommen haben Sie das Repository an Ihren Arbeitsbereich angehängt, einen neuen Zweig erstellt und diesen neuen Zweig verschoben.

Wenn Sie später mehr PR aus demselben geklonten Repository erstellen, sollten Sie synchronisieren (die neuesten Änderungen aus dem ursprünglichen Repository abrufen), bevor Sie einen anderen Zweig für einen anderen PR erstellen:

git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master

Andere Überlegungen:

  • das Projekt enthält möglicherweise Richtlinien für Beiträge: Suchen Sie nach einer Datei CONTRIBUTING.rst oder .md
  • möglicherweise möchten Sie die Codierungsrichtlinien für das Projekt befolgen
  • vielleicht möchten Sie zuerst Ihre Idee als Problem skizzieren
  • möglicherweise möchten Sie die Registerkarte Pull Requests für das Projekt anzeigen und prüfen, ob offene PR und zusammengeführte PR vorhanden sind

Mit diesen Vorschlägen ersparen Sie sich die Arbeit an einer PR, die nicht zusammengeführt wird. Wenn das Projekt aktiv ist und PR zusammengeführt wird, ist dies ein gutes Zeichen. Wenn Beitragsrichtlinien vorhanden sind, befolgen Sie diese.

Sei immer höflich. Denken Sie daran, dass die Projektbetreuer in keiner Weise verpflichtet sind, Ihre PR zusammenzuführen. Haben Sie etwas Wertvolles zum Projekt hinzuzufügen?

2
Sybille Peters