Das erste Mal, als ich dieses Problem hatte, fand ich diese Stelle und aus der ersten Antwort habe ich gelernt, dass ich einfach tun sollte git reset <filename>
. Es hat gut funktioniert.
Schließlich hatte ich zufällig ein paar Unterordner in meinem Git-Hauptordner. Ich fand es einfach, einfach zu tun git add .
um alle Dateien in den Unterordnern hinzuzufügen und dann git reset
die wenigen Dateien, die ich nicht hinzufügen wollte.
Heutzutage habe ich viele Dateien und Unterordner. Es ist mühsam git reset
einer nach dem anderen, aber es ist immer noch einfacher, einfach git add .
und dann die wenigen schweren/unerwünschten, aber nützlichen Dateien und Ordner zurücksetzen.
Ich habe die folgende Methode gefunden (die nicht aufgezeichnet wird ici o ici ) relativ einfach. Ich hoffe, es wird hilfreich sein:
Nehmen wir an, Sie haben die folgende Situation:
Folder/SubFolder1/file1.txt
Folder/SubFolder2/fig1.png
Folder/SubFolderX/fig.svg
Folder/SubFolder3/<manyfiles>
Folder/SubFolder4/<file1.py, file2.py, ..., file60.py, ...>
Sie möchten alle Ordner und Dateien hinzufügen, aber nicht fig1.png
und nicht SubFolderX
und nicht file60.py
und die Liste wird immer länger ...
Erstellen Sie zunächst eine bash shell script
und geben Sie ihm einen Namen. Sagen Sie, git_add.sh
:
Fügen Sie dann die Pfade zu allen Ordnern und Dateien hinzu, die Sie git reset
vorausgegangen git reset --
. Sie können die Pfade einfach in das Skript kopieren und einfügen git_add.sh
wenn Ihre Liste der Dateien wächst. Die git_add.sh
Skript sollte wie folgt aussehen:
#!/bin/bash
git add .
git reset -- Folder/SubFolder2/fig1.png
git reset -- Folder/SubFolderX
git reset -- Folder/SubFolder4/file60.py
#!/bin/bash
ist wichtig. Dann tun source git_add.sh
um es zu betreiben. Danach können Sie git commit -m "some comment"
und dann git push -u origin master
wenn Sie Bitbucket/Github bereits eingerichtet haben.
Haftungsausschluss: Ich habe dies nur unter Linux getestet.
Wenn Sie viele Dateien und Ordner haben, die Sie immer in Ihrem lokalen Git-Repository aufbewahren, aber nicht möchten, dass Git die Änderungen nachverfolgt, wenn Sie das git add .
zum Beispiel Video- und Datendateien, müssen Sie lernen, wie man .gitignore
. Vielleicht von ici .
57 Stimmen
Beginnend mit Git v1.8.4 werden alle folgenden Antworten, die
HEAD
ohead
können nun@
anstelle vonHEAD
stattdessen. Siehe diese Antwort (letzter Abschnitt) um zu erfahren, warum Sie das tun können.5 Stimmen
Ich habe eine kleine Übersicht erstellt, die alle Möglichkeiten zum Aufheben einer Datei zeigt: stackoverflow.com/questions/6919121/
8 Stimmen
Wenn Sie Eclipse verwenden, ist es so einfach wie das Entfernen der Markierung der Dateien im Dialogfeld "Übertragen".
3 Stimmen
Dies ist eine großartige Ressource direkt von Github: Wie man (fast) alles mit Git rückgängig macht
4 Stimmen
Bevor Sie eine neue Antwort schreiben, bedenken Sie, dass es bereits mehr als 25 Antworten auf diese Frage gibt. Vergewissern Sie sich, dass Ihre Antwort einen Beitrag leistet, der nicht in den vorhandenen Antworten enthalten ist
0 Stimmen
Ich schaffe das immer, indem ich
git reset <file_name>
. Weitere Informationen finden Sie unter dieser Artikel .0 Stimmen
Wenn Leser die grafische Benutzeroberfläche verwenden möchten, können Sie mit der rechten Maustaste auf eine Datei klicken und auf "Zurücksetzen" oder "Unstage" klicken.
0 Stimmen
git rm --cached <file>
entschärft und entschärft (zum Entfernen bei der nächsten Übertragung markiert) eine bestimmte Datei, währendgit reset HEAD <file>
nur unstages die Datei0 Stimmen
Für Leute, die mit großen Repos arbeiten, können Sie auch einfach den Git-Hinzufügungsprozess abbrechen und es wird automatisch zurückgesetzt.