Ich habe versehentlich über 9000 Fotos zu meinem Projektordner hinzugefügt. Und sie verpflichtet. Dann löschte sie von der Festplatte. Engagiert sein.
Jetzt versuche ich, Änderungen auf den Git-Server zu übertragen. Es dauert jedoch zu lange und versucht, 12 GB Daten zu senden.
Ich habe die Dateigröße auf der Festplatte überprüft und festgestellt, dass der .git
Ordner wirklich 12 GB benötigt.
Wie lösche ich Fotos von dort? Ich habe es versucht git rm
, aber es schlägt fehl:
❯ git rm public/photos
fatal: pathspec 'public/photos' did not match any files
Weil ich sie bereits von der Festplatte gelöscht habe, sie sich aber noch im .git
Ordner befinden.
Ich habe versucht , hinzuzufügen , public/photos
zu .gitignore
:
public/photos/
*.zip
Aber kein Ergebnis. Natürlich konnte ich hard reset head
zu einem Moment, als ich nicht so viele Junk-Fotos in meinem Projekt hatte. Aber seitdem habe ich mich viele Male verpflichtet und viele Änderungen am Code vorgenommen.
quelle
git add .gitignore && commit -m "ignore rule for photos"
seingit add .gitignore && git commit -m "ignore rule for photos"
Eine sehr einfache Antwort ist.
Schritt 1:
Fügen Sie zunächst Ihre nicht verfolgten Dateien hinzu, zu denen Sie löschen möchten:
mit
git add .
odergit add <filename>
.Schritt 2:
Dann löschen Sie sie leicht Befehl
git rm -f <filename>
hier rm = entfernen und f = forcely.quelle
git filter-branch
wie an anderer Stelle erwähnt verwenden.Schritt 1
Fügen Sie der Datei die
.gitignore
Dateinamen hinzu.Schritt 2
Schritt 3
Ein großes Dankeschön an @mu.
quelle
--ignore-unmatch
das zu benutzen hat bei mir funktioniert
quelle
Diese Ketten funktionieren in meinem Fall:
git rm -r WebApplication/packages
Es gab einen Bestätigungs-Git-Dialog. Sie sollten die Option "y" wählen.
git commit -m "blabla"
git push -f origin <ur_branch>
quelle
hat den Job gemacht, es hat die Dateien wiederhergestellt, die ich mit
rm
anstatt gelöscht hattegit rm
.Ich habe zuerst den letzten Hash ausgecheckt, aber ich glaube nicht, dass dies erforderlich ist.
quelle
Verwenden Sie den folgenden Befehl, um die verfolgte und alte festgeschriebene Datei aus git zu entfernen. Hier in meinem Fall möchte ich die gesamte Datei entfernen und aus dem
dist
Verzeichnis entfernen .Dann müssen Sie es zu Ihrem hinzufügen,
.gitignore
damit es nicht weiter verfolgt wird.quelle
Ich hatte ein doppeltes Verzeichnis (~ web / web) und es entfernte das verschachtelte Duplikat, als ich es
rm -rf web
im ersten Webordner ausführte.quelle