Git-Commit in Rstudio rückgängig machen, das zu groß ist, um es zu pushen

Lesezeit: 4 Minuten

Benutzer-Avatar
Thestral

Ich bin sehr neu bei github und versuche es zum ersten Mal in meine Arbeit einzubauen. Ich arbeite in RStudo und verwende die Commit- und Push-Buttons in der GUI. Ich lege einige meiner Daten in den Ordner auf meinem Computer, in dem ich arbeite. Ich habe ein paar Commits gemacht, dann habe ich diese Daten übernommen, und dann habe ich noch ein paar Commits gemacht. Dann habe ich versucht, das Ganze auf github zu pushen. Allerdings bekam ich eine Fehlermeldung, die besagte:

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.        
remote: error: Trace: f4a84c3a176d2c77039d041a21c0c455        
remote: error: See http://git.io/iEPt8g for more information.        
remote: error: File S_Fulltaxonomy.csv is 158.06 MB; this exceeds GitHub's file size limit of 100.00 MB        
To [email protected]:moanam/paper.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:moanam/paper.git'

Mein Branch liegt jetzt 10 Commits vor Origin/Master, wobei das Problem Commit irgendwo in der Mitte liegt.

Ich habe nach Lösungen dafür gesucht und Posts wie Undo Commit mitten im Git-Verlauf gefunden, Wie kann ich vorhandene, nicht gepushte Commits ändern? und Wie man eine zu große Datei in einem Commit entfernt, wenn mein Branch dem Master um 5 Commits voraus ist

Die Lösungen dafür sind jedoch eine Codezeile, in der der ursprüngliche Fragesteller ein paar Wörter ersetzen und irgendwo ausführen soll. Ich bin wirklich sehr neu darin und habe keine Ahnung, wo ich all diesen Code ausführen soll, was ich ersetzen soll und wie ich das Problem-Commit in meiner Arbeit finden und ändern kann. Wie mache ich das? Oder gibt es eine GUI-basierte Version zum Rückgängigmachen des Commit in RStudio? Oder könnte jemand bitte genau erklären, wie man den Code verwendet?

Ich weiß, dass dies wahrscheinlich eine sehr einfache Frage ist, und es tut mir leid, dass ich Ihre Zeit damit verschwende. Ich habe jedoch wirklich schon eine ganze Weile gesucht und kann nichts finden, das einfach genug ist, um damit zu arbeiten! Es wird immer zu viel Wissen vorausgesetzt. Danke für Ihre Hilfe!

Es gibt einen einfacheren Weg.

Ich bin mir nicht sicher, wie ich es über Rstudio machen soll, aber Sie können dies stattdessen tun.

Gehen Sie zur Befehlszeile -> navigieren Sie zum Verzeichnis Ihres Projekts

Sobald Sie drinnen sind, geben Sie Folgendes ein:

git reset HEAD~

Wenn Sie zwei Commits rückgängig machen möchten, geben Sie es zweimal ein.

Dadurch wird der letzte Commit rückgängig gemacht, es werden jedoch keine Dateien gelöscht. Daher werden alle Dateien im gestuften Menü wieder angezeigt. Danach ohne die großen Dateien erneut festschreiben, dann erneut drücken und alles sollte in Ordnung sein.

  • In RStudio ist es im Grunde dasselbe: Gehen Sie zu git tab > Zahnradsymbol > Shell. Das bringt eine Shell hervor und Sie können die verwenden git reset HEAD~ Befehl.

    – Fehler21

    1. November 2020 um 19:20 Uhr

Benutzer-Avatar
Thestral

Ich habe es ausgearbeitet. Also für alle anderen:

Zuerst, Sichern Sie alle Ihre Dateien an einem anderen Ort (die ursprünglichen werden gelöscht)

Sie können die Befehlszeile von RStudio aus der Registerkarte Git öffnen und dann zu Mehr und dann zu Shell gehen.

Eintippen git reset --hard origin/master
Dies macht alle Commits rückgängig und kehrt zu dem zurück, was Sie bei Ihrem letzten Push hatten

Kopieren Sie die Dateien zurück in Ihr Arbeitsverzeichnis (wodurch die älteren Versionen ersetzt werden) und übertragen Sie alle Änderungen, die Sie seitdem vorgenommen haben, erneut. Stellen Sie sicher, dass Sie die rhistory-Datei nicht kopieren, da sonst alle Ihre vorherigen Commits wiederholt werden.

  • Wenn Sie wissen möchten, wie viele Commits Sie seit Ihrem letzten Commit haben, können Sie sie folgendermaßen anzeigen: Gehen Sie zu Rstudio | git tab | Meister (Symbol). Sie erhalten eine Nachricht, die etwa so aussieht: ‘ M R/your_changed_file.R Ihr Zweig ist 1 Commit vor ‘origin/master’. (benutze “git push”, um deine lokalen Commits zu veröffentlichen) ‘

    – Agile Bean

    5. August 2018 um 6:13 Uhr


  • Auch wenn ich rhistory lösche, sind die alten Commits noch da. Irgendeine Idee warum?

    – Ethan Spannung

    7. Juni 2021 um 21:49 Uhr

  • Viel einfacher zu bedienen git reset HEAD~ in einem Terminal, wie von Adam Waring vorgeschlagen, besonders wenn der große Commit der letzte ist

    – KaptajnKasper

    30. März um 8:15 Uhr


Also ich denke du stellst hier ein paar Fragen:

  1. Ein Commit mit einer großen Dateigröße: Sie müssen diese Dateien in Ihrer .gitignore-Datei ausschließen, damit sie in Ihrem lokalen Ordner bleiben, aber nicht in Ihr Github-Repository gepusht werden. Mehr dazu hier: https://git-scm.com/docs/gitignore
  2. Zurücksetzen eines Git-Commits: Sie können die von Ihnen geposteten Befehle verwenden, aber Sie haben Recht, Sie sollten wahrscheinlich wissen, was Sie tun. Investieren Sie also ein wenig Zeit und lesen Sie sich die Grundlagen von Git durch.
  3. Auf der Suche nach einer GUI: Sie können mit GitGUIs arbeiten, es gibt Versionen für Mac und Windows https://desktop.github.com/. Aber da Sie sowieso die Grundlagen von Git verstehen müssen, macht es die GUI meiner Meinung nach nicht viel einfacher. Bleiben Sie dabei und Sie werden diese Art von Zeug in kürzester Zeit verstehen.

1357740cookie-checkGit-Commit in Rstudio rückgängig machen, das zu groß ist, um es zu pushen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy