2013-04-18 6 views
13

Folgendes Szenario:Verstehen Pull-Anfragen auf GitHub: Was passiert, wenn das anfordernde Repository gelöscht wird?

Ich verzweigte ein Open-Source-Repository (GitHub -> project -> Fork). Dann geklont ich mein Projekt Kopie lokal, nahm einige Änderungen in der Master-Zweig, verpflichtet sie, und drückte auf mein Repository:

$ git clone [email protected]:myusername/originalprojectname.git 
... changes ... 
$ cd originalprojectname 
$ git add path/to/changed/file.php 
$ git commit -m "..." 
$ push 

Nachdem ich eine Pull-Anforderung auf GitHub gestartet. Es wurde als "Gut zu verschmelzen" markiert und zu Milestone: x.y.z hinzugefügt.

Wo bleibt der geänderte Code? Nur in meinem Repo oder auch etwas anderem? Der Hintergrund ist: Ich möchte mein Repository löschen. So, endlich meine Frage: Wenn ich mein Repository auf GitHub lösche, sind die Änderungen dann noch für das ursprüngliche Projekt verfügbar oder sollte ich auf die Freigabe x.y.z warten?

Antwort

12

Ja, Der Code wird immer noch angezeigt, nachdem Sie Ihr Repo gelöscht haben. Sobald Sie Ihre Pull-Anfrage einreichen, fügt Github diese Verzweigung intern dem Ziel-Repo hinzu (es erstellt eine Verzweigung in einem nicht standardmäßigen Namespace, sodass Sie diese normalerweise nicht sehen).

Da PRs in der Regel nicht gelöscht werden können, sind diese Zweige im Ziel-Repo unbegrenzt vorhanden.

Um Ihre andere Frage zu beantworten: Der Code wird sowohl in Ihrer Gabel und dem Ziel Repo (ursprünglich, zumindest, sofern Sie Ihre Gabelung nicht löschen).

+2

FYI, [dieser Vortrag von Zach Holman] (http://zachholman.com/talk/more-git-and-github-secrets/) (GitHub Mitarbeiter) bestätigt, dass "GitHub alle Pull-Requests in Ihrem Repository speichert [ ...] selbst wenn die Gabel gelöscht wird ". – Dennis

+1

Wenn ich das gelöschte Repo von Upstream refork, kann ich den vorherigen PR-Thread fortsetzen? – rilut

Verwandte Themen