Ich verstehe, wie GitHub funktioniert, aber eine Sache, die mich verwirrt hat, ist, warum fast jedes OSS- Projekt in letzter Zeit einen "Fork me on GitHub" -Link auf seiner Homepage hat. Zum Beispiel,
http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ und andere.
Warum ist das so üblich? Ist es so, dass sie eine Codeüberprüfung wünschen / benötigen, um nach Sicherheits- / Leistungsverbesserungen zu suchen, von denen sie möglicherweise nicht wissen, wie sie zu tun sind?
Soll das zeigen, dass es sich um ein Gemeinschaftsprojekt handelt - Sie können gerne Verbesserungen hinzufügen?
Arbeiten sie für GitHub oder möchten sie für ihren Service werben? Seltsamerweise glaube ich nicht, dass ich in letzter Zeit ein "Fork Project on Bitbucket " -Logo gesehen habe.
Meine erste Reaktion auf dieses Logo war, dass das Projekt wahrscheinlich geändert (gegabelt) werden muss, um es in etwas Nützliches zu integrieren. Aber ich denke nicht, dass das die Absicht ist.
quelle
Antworten:
Abgesehen von der Foster Collaboration-Seite des Problems wird es aus geschäftlicher Sicht den Datenverkehr, die Nutzerbasis und die Marktposition von GitHub verbessern und stärken. Es ist also auch eine gewisse Geschäftsstrategie damit verbunden.
Persönlich stört mich das nicht, weil GitHub der Open Source Community einen wertvollen Service bietet.
quelle
Ja: Sie haben nicht das Recht, ein Commit direkt in ihrem Repo zu pushen.
Sie haben jedoch die Möglichkeit, ihr Repo zu teilen , was es zu Ihrem Repo macht, und von dort aus ein Push-Commit durchzuführen und Pull-Requests vorzubereiten .
quelle
Das Abzeichen "Fork me on Github" soll anzeigen, dass es sich um das Projekt handelt, für das Sie das Recht haben, einen Beitrag zum Projekt zu leisten oder es als Ausgangspunkt für Ihr eigenes Projekt zu verwenden.
Es zeigt ein bisschen, dass "es ein Gemeinschaftsprojekt ist und dass Sie gerne Verbesserungen hinzufügen können."
Hier können Sie mit dem Code herumspielen oder ein Spin-Off desselben Projekts erstellen, ohne die ursprüngliche Quelle zu beeinträchtigen.
https://help.github.com/articles/fork-a-repo
Das gleiche Prinzip gilt für alle anderen Git-Hosts.
Die wichtigsten Punkte (unter vielen anderen), um das Recht zu geben, ein Projekt zu forken, sind:
Einige der Projekte, mit denen Sie möglicherweise zusammentreffen, werden möglicherweise von Github-Mitarbeitern für ihre eigenen privaten Bedürfnisse durchgeführt. Sie wollen Github nicht fördern. Projekte von github finden Sie hier: https://github.com/github
Warum Sie keine Abzeichen von anderen Hosts sehen, liegt daran, dass Github die beliebteste Plattform für Git-Hosting und Zusammenarbeit ist.
quelle
Stellen Sie sich vor, Sie verwenden Ihren bevorzugten Texteditor, und nach einiger Zeit werden Sie feststellen, dass Sie es wirklich lieben würden, eine Funktion zu implementieren (wie die nicht blockierende Option "Datei speichern").
Nachdem Sie gedacht haben, dass Sie zum elften Mal selbst eines schreiben möchten. Nachdem Sie die Github-Seite dieses Projekts gefunden haben, haben Sie zwei Möglichkeiten:
Wenn Sie sich für die zweite Option entschieden haben, nachdem Sie Ihr Feature gut geschrieben und getestet haben, könnten Sie eine Pull-Anfrage vorbereiten, und dann würde das gesamte Projekt von Ihnen profitieren.
Wenn Sie jedoch den ersten Weg gewählt haben, ist es sehr wahrscheinlich , dass Sie nur über Ihre Änderung und niemand vergessen , außer Sie davon profitieren wird (ja, können Sie den Code manuell teilen, aber einige andere Codierer könnte leicht vergessen. Github Verwendung zwingt Sie mehr zu bekommen sozialisiert mit den anderen Arbeiten).
Wenn Sie sagen, dass der Eigentümer eines Github-Projekts mich als Fork me bezeichnet, möchten Sie nur sicherstellen, dass Sie
Fork on github
stattdessen den Code herunterladen und in Ihrem Home-Verzeichnis veröffentlichen.quelle
Es ist nur da, um zu zeigen, dass dies ein Open Source-Projekt ist, und Sie können es, wenn Sie wollen, aus welchem Grund auch immer. Schauen Sie sich auch diesen Blog-Beitrag auf GitHub an: https://github.com/blog/273-github-ribbons
Update: Ich persönlich füge diese GitHub-Bänder hinzu, damit die Leute mich auf GitHub finden und meine Projekte starten können;)
quelle
Es bedeutet, dass sie auf Github sind, wo das Forken billig ist, und sie möchten Beiträge ermutigen, um ihre Software und Community zu verbessern.
quelle
Github ist bemüht, seine Nutzerbasis zu erweitern, um nicht nur das Hosting von Quellcode, sondern auch die Zusammenarbeit zu ermöglichen. und so schieben sie die Gabel und senden eine Pull-Request- Methode. Das Erstellen von Patches und das Versenden per E-Mail wären für die meisten Menschen, außer für Programmierer und ähnliche, nicht attraktiv. Push-Berechtigungen sind hier nicht wirklich wichtig, da die meisten Git- (oder Quecksilber-, Darcs- oder was auch immer) Benutzer mit beträchtlichen Kenntnissen über das Tool und den Entwicklungsworkflow in der Lage wären, eine E-Mail mit einem angehängten Patch zu senden.
Bei Github geht es mehr um soziale Netzwerke als um das Hosten von Code: Ihr Profil, Ihre Repos und Ihre Änderungen kennzeichnen Ihre Identität als Softwareentwickler, genau wie Ihre Tweets und '+ 1'. Alle diese Bänder, Knöpfe und dergleichen werden als Mittel zur Selbstakquise verwendet, als Pfad zum Profil der Person, der das Projekt gehört. Heutzutage ist ein anständiges Github-Profil das erste, was von einem Entwickler erwartet wird. Auch wenn ich Quecksilber für irgendetwas benutze, drücke ich mich aus diesen Gründen über hg-git zu Github.
Letztendlich unterscheidet sich das "Fork me on Github" -Band nur geringfügig vom "Tweet this Article" oder dem "Share this Thing on G +" -Button. (Auch ein Fork eines Repositorys auf Ihrer Repos-Liste bedeutet "Ich bin ein Benutzer dieses Dings". Es gibt Tausende von Linux-Forks auf Github, obwohl Linus Torvalds keine Pull-Anfragen akzeptiert.)
quelle
Es ist eine andere Art zu sagen, "Patches sind willkommen".
Anstatt Wünsche und Funktionsanforderungen zu senden, können Benutzer Pull-Anforderungen senden, bei denen der ursprüngliche Autor die Pull-Anforderung überprüft, validiert und zusammenführt.
Historisch gesehen ist Forking eine feindselige Aktion einer Gruppe, die im Widerspruch zur Verwaltung des ursprünglichen Projekts steht, z. B. das OpenOffice von Sun, das verwendet wird, um schnelles C / C ++ SVG-Plugin abzulehnen, weil es aus politischen Gründen sein eigenes langsam defektes Java-basiertes Plugin bevorzugt.
In den meisten Fällen sind Gabeln schlecht und werden von Neidern oder Leuten aus egoistischen Unternehmen getragen, die Pläne haben, die nicht mit der ursprünglichen Community geteilt werden und nicht mit dieser übereinstimmen (z. B. Canonical ). Ein Beispiel hierfür ist libav / avconv In diesen Fällen hat die ursprüngliche Community eine höhere Qualität und Sicherheit und sie begrüßen Patches, die auf Community-Pläne abgestimmt sind.
Dan Walsh bemerkte die alte Definition von Gabel
Dann verglich er das mit Githubs Gabel
quelle
Alle Antworten, die besagen, dass dies eine Zusammenarbeit ist, werfen die Frage auf: Warum nicht " Clone me on GitHib" oder "Download .zip from GitHub" sagen ?
Auf GitHub sehen Sie die Anzahl der Gabeln. Aber meines Wissens nicht die Anzahl der Klone oder Zip-Downloads.
Ich würde sagen, dies dient zum einen der Förderung der Zusammenarbeit, zum anderen dem Erhalt von Feedback und der Bestätigung, dass Benutzer Ihren Code verwenden.
PS: Ich bin ziemlich neu bei GitHub. Wenn dies völlig falsch ist, lassen Sie es mich bitte wissen.
quelle
git clone https://github.com/$NAME_OF_GITHUB_USER/$NAME_OF_REPOSITORY.git
und danngit format-patch master
per Email oder ähnlichesWenn du auf Github gabelst, klingt es wirklich einfach zu sagen, dass du mir auf Twitter folgst. Ich bringe ein wenig Sozialisation in die Welt der Entwicklung aus meiner eigenen Perspektive und mache deutlich, dass es Open Source ist und für Modifikationen zur Verfügung steht Projekt-Website
quelle
Am besten nehmen Sie einfach die einfachste Antwort: Sie möchten, dass Sie wissen, dass der Code auf GitHub frei verfügbar ist. Ich denke, Ihre Hypothesen sind etwas überlegt.
quelle