Ich bin neu in GitHub und VCS im Allgemeinen. Ich programmiere seit Jahren in verschiedenen Sprachen, habe aber immer alleine an eigenen Projekten gearbeitet (keine öffentlichen Veröffentlichungen). Ich habe kürzlich angefangen, ein jQuery-UI-Widget zu verwenden, das ich in einem Projekt, an dem ich arbeite, von GitHub heruntergeladen habe. Das Repo wird nicht mehr vom ursprünglichen Autor gepflegt. Eine andere Gabel hat einige der ursprünglichen Zuganforderungen übernommen. Dies ist der, von dem ich gegabelt habe.
Ich habe ein paar Fehler gefunden und die entsprechenden Korrekturen gefunden. Ich möchte diese Korrekturen beisteuern, aber ich möchte auch eine ganze Reihe anderer Änderungen vornehmen, die für unseren eigenen Gebrauch einige der vorhandenen Funktionen beeinträchtigen. Außerdem möchte ich eine Idee von einer anderen Gabelung übernehmen.
Ich lerne immer noch GIT und GitHub und versuche herauszufinden, wie ich am besten vorgehen kann. Ich habe viel über verschiedene Konzepte / Aufgaben gelesen (hier SO, GitHub-Hilfeseiten, Pro Git): Workflows, Zusammenführen, Pull-Anforderungen, Cherry-Picking, Rebasing, Verzweigen. Meine graue Substanz schwimmt und ich muss anfangen , damit ich besser verstehen kann, was ich gelesen habe.
Hauptprobleme:
Ich glaube, ich habe (irgendwo) gelesen, dass Sie immer nur eine Pull-Anforderung für einen Zweig gleichzeitig haben können. Heißt das, ich sollte für jeden Fehler einen eigenen Zweig haben und dann für jeden einen eigenen Pull-Request ausführen?
Ich möchte Whitespace-Probleme beseitigen und erinnere mich, dass ich gelesen habe, dass es am besten ist, dies in einem separaten Commit zu tun. Soll ich das in meinem Master oder einer separaten Filiale machen? Ich möchte keine Pull-Anforderung für etwas so Triviales ausführen. Wenn ich jedoch vor dem Verzweigen Leerzeichen ändere, hat dies Auswirkungen auf die Pull-Anforderung für die Fehlerkorrekturen? Einige Gabeln haben Whitespace-Aufräumarbeiten durchgeführt und das Diff praktisch unbrauchbar gemacht.
Ich dachte daran, Probleme gegen meine Gabel zu erstellen, um die Fehler zu dokumentieren, obwohl ich bereits die Lösung für sie habe. Ist das eine gute idee Wie gehe ich vor, um das Problem, das Festschreiben und die Zusammenführung miteinander zu verknüpfen? Wenn ich eine Pull-Anforderung im Upstream-Modus durchführe, wird mein Problem auch im Upstream-Modus angezeigt oder geht der Dokumentationslink verloren? Ich kann kein Problem mit dem Upstream-Repo eröffnen (es gibt keinen Issue-Tab).
Was ist der beste Weg, um dem anderen Fork-Autor die Idee zu würdigen, die ich verwenden möchte? Ich kann seinen Code nicht genau verwenden, zumal seine Änderung auf eine ältere Version des Upstreams angewendet wird und so wie sie ist nicht mit meinen anderen Änderungen kompatibel ist. Aber ich möchte die Idee nutzen und Kredit geben, wo Kredit fällig ist. Sollte ich in meiner Commit-Nachricht nur auf sein Repo (oder Profil oder spezifisches Commit) verlinken?
Was ist die Etikette zum Ändern der Readme-Datei und des DocBlocks oben in der Hauptdatei? Ist es in Ordnung, Änderungen vorzunehmen, meinen Namen hinzuzufügen, Links zu meinem Repo und meiner Demo hinzuzufügen, Links zur ursprünglichen Demo zu entfernen (da meine Gabel letztendlich nicht mit dem Original kompatibel ist)? Natürlich werde ich den ursprünglichen Autorennamen und die Lizenzinformationen hinterlassen. Für die Aufzeichnung ist es unter der MIT-Lizenz lizenziert.
Als Solo-Entwickler, der VCS noch nie benutzt hat, bin ich es gewohnt, die Geschichte neu zu schreiben . Ich bin Perfektionist und mag es, wenn Dinge ordentlich und ordentlich sind. Die Idee, Geschichte aufzuzeichnen, macht mich etwas nervös und ich möchte es gleich beim ersten Mal richtig machen . Ich habe ein neues Repo zum Spielen / Lernen erstellt, möchte aber unbedingt das jQuery-UI-Widget reparieren, damit ich mit meinem Projekt weitermachen kann.