2013-05-22 3 views
9

Ich habe meine erste Pull-Anfrage vor nicht langer Zeit, und ich fand einen Fehler im Code. (Meh)Git, machte eine Pull-Anfrage, aber einen Fehler in meinem Code gefunden, wie es zu beheben?

Ich möchte nicht einen neuen Zweig und Commit/Push/Pull-Anfrage den neuen Zweig seit das muss in der ersten Pull-Anfrage gewesen sein.

Lösche ich die Pull-Anfrage und reiche eine neue Anfrage ein?
Gibt es andere Möglichkeiten?

EDIT

Ich habe 'git commit --amend', aber ich kann es nicht schieben.

Ich sehe meine letzte Commit ist jetzt #B, während die ursprüngliche begehen wurde #A und Github Webseite zeigt meine Pull-Anforderungen an #A zeigt

I ‚git push my_github_fork MyWork_branch tat, aber es sagt Everyhing-up-to-date.

Ich habe versucht, die Option -f zu geben, aber ohne Erfolg.

Antwort

11

Wenn der Repo noch nicht gezogen wurde, können Sie den Fehler einfach mit einem weiteren Commit beheben, der gezogen wird.

+0

Also Commit/Push zu my_fork_repo? Das ist alles? – eugene

+0

Sie können sogar eine neue feste Version der Verzweigung forcieren, und die Pull-Anforderung wird entsprechend aktualisiert. Ziemlich ordentlich. – kusma

+0

@Claudio versuchte dies, es funktioniert, danke! –

2

GitHub Pull-Anforderungen werden automatisch aktualisiert, wenn Sie den Zweig aktualisieren, aus dem sie stammen. Also, mach weiter und schiebe ein zusätzliches Commit oder ändere dein vorheriges Commit.

5

Wenn Sie Ihre Pull-Anfrage sauber halten möchten, würde ich empfehlen, die Commits in Ihrem Zweig neu zuzusetmen, so dass der Bug nicht einmal sichtbar ist und Ihren Zweig zu GitHub zwingt.

Wenn Sie Ihre letzten commit Festsetzung, dann ist dies so einfach wie ihre Änderung:

git commit --amend 

GitHub automatisch die Commits in Ihrer Pull-Anfrage mit aktualisieren, was in diesem Zweig ist, also, wenn dies Wenn sie von den Entwicklern im anderen Repository angezeigt werden, sehen sie einfach die Commits, die sie sehen sollen.

Ich versuche immer sicherzustellen, dass commits in git eine Art von Geschichte erzählen - es sollte klar sein, was Sie aus der Commit-Geschichte tun. Wenn eine Pull-Anfrage mit Fehlern übersät ist und sich später verpflichtet, sie zu beheben, ist es sehr schwierig, diese Geschichte zu verstehen.

Ich war auf der Empfangsseite von vielen einer Pull-Anfrage, die chaotisch und unklar war. Ich empfehle auf jeden Fall, den Zweig zu reversieren, um alles kristallklar zu halten.

+0

Kannst du meine Bearbeitung bitte sehen? – eugene

+0

Was sagt 'git status'? Zeigt es, dass Sie auf dem richtigen Zweig sind, und dass alles andere sauber ist? Wenn du deine letzte Verpflichtung ansiehst, siehst du deine letzte Arbeit? Wenn Sie 'git log' ausführen, unterscheidet sich der Hash des Commits von dem auf GitHub? Was bewirkt 'git push Herkunft --force' Ergebnis? –

Verwandte Themen