Ich habe einen Fehler gemacht …. und ich weiß nicht, wie ich ihn beheben soll.
Ich erkläre das Problem.
Ich habe an meinem Projekt gearbeitet und einen ersten Commit gemacht. In diesem Commit wurden 2 große nutzlose Dateien hinzugefügt … Ich wollte diese Dateien nicht, also habe ich a
git rm file
Dann wieder zugesagt. Und ich bin dumm, weil ich zu github gepusht habe hehehe :).
Ich denke du hast das Problem erkannt…
Wie kann ich diese Dateien endgültig aus meinen lokalen und Github-Repositories (insbesondere Github …) entfernen?
Ich habe Hilfe im Internet gefunden, aber ich möchte nicht mein gesamtes Repository zerstören.
Vielen Dank
Wenn sonst niemand gezogen hat, sollten Sie Ihren lokalen Zweig einfach wieder so zurückbringen, wie Sie es möchten (wahrscheinlich entweder durch Zurücksetzen auf eine frühere Position oder durch Ausführen einer interaktiven Rebase, um den unerwünschten Commit zu entfernen), und drücken Sie dann erneut auf github mit dem -f (erzwingen) Option:
git push -f <remote-name> <branch-name>
Wenn andere Leute gezogen haben, gilt der übliche Rat: Lesen Sie das Erholung von Upstream-Rebase Abschnitt der git-rebase-Manpage, um zu sehen, was Sie mit den anderen machen, bevor Sie Ihr erzwungenes Update durchführen.
Wenn Sie den letzten Commit mit neuen Dateien entfernen (nicht wiederherstellen, entfernen) wollten, sollten Sie meiner Meinung nach Folgendes tun:
git reset --soft "HEAD^"
Wie auch immer, da Sie es bereits auf GitHub verschoben haben, können Sie es nicht entfernen, ohne das Git-Repo neu zu erstellen. So funktioniert es, Sie können jeden Commit rückgängig machen, zum Beispiel Commit, bei dem Sie diese 2 großen Dateien gelöscht haben. Da es sich um ein neues Repo handelt und Sie über das anfängliche Commit sprechen, erscheint mir die Neuerstellung des Repos als beste Idee.
“Sie können es nicht entfernen, ohne das Git-Repo neu zu erstellen” äh, ja, das können Sie. Es kann andere Leute verärgern, wenn sie gezogen haben, aber Sie können es tun.
– Kaskabel
12. September 2010 um 1:19 Uhr
Ich hatte keine Ahnung, dass Sie es aus dem Remote-Repo entfernen können, danke Kumpel.
– Piotr Karbowski
12. September 2010 um 11:14 Uhr
Gerade git reset HEAD^ ist in Ordnung; Der gemischte Reset setzt auch den Staging-Bereich zurück, aber (im Gegensatz zu --hard) lässt das Arbeitsverzeichnis intakt. Von dort, git add -p ist oft der nächste Schritt.
– Kos
13. Februar 2013 um 10:13 Uhr
11439900cookie-checkMachen Sie einen Git-Push auf Github rückgängigyes