Änderungen aus einem Forked-Repo übernehmen, ohne einen Request auf GitHub zu haben?


40

Ich bin neu in der Community für Social Coding und weiß nicht, wie ich in dieser Situation richtig vorgehen soll:

Ich habe vor ein paar Wochen ein GitHub-Repository erstellt. Jemand gegabelt das Projekt und hat einige kleine Änderungen , die bisher gemacht haben meine zu tun. Ich bin begeistert, dass jemand mein Projekt gabelte und sich die Zeit nahm, es zu ergänzen. Ich möchte die Änderungen in meinen eigenen Code übernehmen, habe aber einige Bedenken.

1) Ich weiß nicht, wie ich die Änderungen per Git aus einem gespaltenen Repo ziehen soll. Ich verstehe, dass es eine einfache Möglichkeit gibt, die Änderungen über eine Pull-Anfrage zusammenzuführen, aber es scheint, als ob der Forker diese Anfrage stellen muss?

2) Ist es akzeptabel, Änderungen ohne Pull-Anfrage einzuziehen? Dies bezieht sich auf die erste. Ich habe den Code für ein paar Wochen beiseite gelegt und bin zurückgekommen, um herauszufinden, dass das, woran ich als nächstes arbeiten werde, von jemand anderem gemacht wurde, und ich möchte nicht einfach seinen Code kopieren, ohne ihm irgendetwas anzuerkennen. Sollte es nicht eine geben, um die Änderungen zu übernehmen, auch wenn Sie nicht ausdrücklich dazu aufgefordert werden? Was ist die Etikette hier

Ich denke vielleicht darüber nach, aber danke für Ihre Eingabe im Voraus. Ich bin ziemlich neu in der Hacker-Community, aber ich möchte tun, was ich kann, um dazu beizutragen!


Hier ist eine großartige Ressource für die Arbeit mit Fernbedienungen (und allem, was mit Git zu tun hat): http://git-scm.com/book/en/Git-Basics-Working-with-Remotes
Nick C.

Antworten:


55

1) Um die Änderungen eines anderen Benutzers zu übernehmen, fügen Sie zunächst eine Fernbedienung hinzu , die auf dessen Repository verweist. Zum Beispiel:

git remote add soniakeys https://github.com/soniakeys/goptimize.git

Dann können Sie diese Änderungen in Ihr Repository übernehmen (dies ändert Ihren Code noch nicht):

git fetch soniakeys

Stellen Sie zum Zusammenführen dieser Änderungen sicher, dass Sie sich in Ihrem masterZweig befinden und:

git merge soniakeys/master

2) Um höflich zu sein, würden Sie normalerweise den Autor fragen, ob es in Ordnung ist, die Änderungen zu übernehmen. Nur weil sie sich in einem öffentlichen Repository befinden, bedeutet dies nicht unbedingt, dass sie zum Abrufen bereit sind. Möglicherweise gibt es noch weitere Arbeiten oder Fragen zum geistigen Eigentum oder was auch immer. Bei veröffentlichten Änderungen in einem Open Source-Repository ist das Nachfragen jedoch nicht unbedingt erforderlich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.