Ich habe eine Pull-Anfrage für ein Projekt geöffnet. Der Betreuer hat beschlossen, dies zu akzeptieren, forderte mich jedoch auf, einige Inhalte zu ändern.
Wie kann ich es tun? Wie kann ich den Commit-Hash unverändert lassen?
Ich habe eine Pull-Anfrage für ein Projekt geöffnet. Der Betreuer hat beschlossen, dies zu akzeptieren, forderte mich jedoch auf, einige Inhalte zu ändern.
Wie kann ich es tun? Wie kann ich den Commit-Hash unverändert lassen?
Antworten:
Schieben Sie einfach mehr Commits in den Zweig, für den die Anfrage bestimmt ist. Die Pull-Anfrage nimmt dies dann auf
Wenn Sie b in master zusammenführen möchten
Ich hatte nur ein Commit in einer Pull-Anfrage und habe es immer git commit --amend
aktualisiert. Ich habe dann einen Force Push mit gemacht, git push -f
so dass mein geändertes Commit das ursprüngliche ersetzt hat. Die Pull-Anforderung hat das neue Commit automatisch übernommen. (Es wurden tatsächlich beide Commits angezeigt, aber als ich die Seite neu lud, war das alte Commit verschwunden.)
Ein erzwungener Push wird im Allgemeinen nicht empfohlen, kann jedoch für Pull-Anforderungen hilfreich sein. Es wird nicht empfohlen, da jemand, der ein Commit auf Ihr basiert, nach Ihrer Änderung eine Rebase durchführen muss. Da sich niemand bei seiner Arbeit auf eine Pull-Anfrage stützen sollte, sollte dies in dieser Situation ziemlich sicher sein.
Wenn Sie weiterhin Änderungen vornehmen und weiterhin auf denselben Zweig pushen, werden die verfeinerten Commits derselben Pull-Anforderung hinzugefügt (es sei denn, Ihre Pull-Anforderung wurde zusammengeführt). Dies könnte die Geschichte sehr unübersichtlich machen.
Eine alternative Lösung und eine Technik, die ich verwende, ist wie folgt:
Erstellen Sie einen neuen Zweig (Fixes) aus dem Repository (Upstream) und dem Zweig (Entwickeln), an den Sie die Pull-Anforderung senden möchten, indem Sie Folgendes tun:
Git Branch Fixes Upstream / Entwicklung
Fügen Sie Ihre verfeinerten Commits direkt zu diesem neu erstellten Zweig hinzu.
git commit -m "Ihre Nachricht"
Schieben Sie diesen Zweig auf Ihre eigene Gabelfernbedienung (könnte als Ursprung bezeichnet werden).
Sie können auch Github API verwenden .
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
Die detaillierte Datenliste finden Sie in Github-Entwicklers
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9