Wie entferne ich Dateien aus dem Git-Staging-Bereich?

Lesezeit: 6 Minuten

Wie entferne ich Dateien aus dem Git Staging Bereich
Omega

Ich habe einige meiner Dateien in meinem lokalen Repo geändert, und dann habe ich es getan git add -A was meiner Meinung nach zu viele Dateien zum Staging-Bereich hinzugefügt hat. Wie kann ich alle Dateien aus dem Staging-Bereich löschen?

Danach mache ich es einfach manuell git add "filename".

  • Hoffentlich suchen Sie danach: stackoverflow.com/questions/1505948/…

    – sumitb.mdi

    1. November 2013 um 16:07 Uhr

  • git status sagt Ihnen bereits genau, was zu tun ist, wenn Sie Dateien aus der Staging-Umgebung entfernen möchten.

    – Michael Foukarakis

    1. November 2013 um 16:11 Uhr

  • @MichaelFoukarakis Git-Status ist nicht so hilfreich, wenn Sie ein ganzes Verzeichnis aus der Staging-Umgebung entfernen möchten, wenn es das Terminal mit Ausgaben überschwemmt (z. B. node_modules).

    – weißer Turm6

    28. Juli 2014 um 21:42 Uhr

  • Anstatt alle hinzuzufügen, möchten Sie sich in Zukunft vielleicht damit vertraut machen git add -p oder git add --patch (sie sind gleich). Mit diesem Flag können Sie interaktiv auswählen, welche Dateien oder einzelnen Änderungen Sie inszenieren möchten – Sie können dann viel feiner granulieren, welche Arbeit Sie in den Commit aufnehmen.

    – Gabe

    24. Januar 2018 um 15:35 Uhr

Wie entferne ich Dateien aus dem Git Staging Bereich
Ash Wilson

Sie können Dateien aus dem Index entfernen, indem Sie verwenden

git reset HEAD -- path/to/file

So wie git addkönnen Sie Dateien rekursiv nach Verzeichnis und so weiter aus der Staging-Umgebung entfernen. Um also alles auf einmal aus der Staging-Umgebung zu entfernen, führen Sie dies im Stammverzeichnis Ihres Repositorys aus:

git reset HEAD -- .

Auch für zukünftige Referenzzwecke die Ausgabe von git status wird Ihnen die Befehle mitteilen, die Sie ausführen müssen, um Dateien von einem Zustand in einen anderen zu verschieben.

  • $ git reset HEAD -- . produziert fatal: Failed to resolve 'HEAD' as a valid ref. Beachten Sie, dass ich nie einen Commit gemacht habe; es ist das erste git add nach dem git init

    – Patrizio Bertoni

    25. Februar 2015 um 16:13 Uhr


  • Sie können auch verwenden git reset @.

    – Alex

    9. Juni 2016 um 9:18 Uhr

  • @alex Ist es besser als einfach nur git reset?

    – Antony Hatchkins

    10. September 2016 um 17:56 Uhr

  • @AntonyHatchkins @ ist synonym mit HEAD.

    – Alex

    12. September 2016 um 7:27 Uhr

  • das ist besser git reset oder git restore –staged

    – Tejas Jadhav

    8. März 2021 um 16:54 Uhr


1646319490 449 Wie entferne ich Dateien aus dem Git Staging Bereich
Antony Hatchkins

Verwenden

git reset

um alle bereitgestellten Dateien aufzuheben.

  • Darf ich fragen, wie sich das unterscheidet git reset HEAD -- oder ist es einfach eine prägnantere Art, dieselbe Operation durchzuführen?

    – ProNotion

    17. Januar 2018 um 10:52 Uhr

  • @ProNotion Reset verwendet HEAD standardmäßig. Was ist der Zweck von denen -- in deiner git reset HEAD -- ?

    – Antony Hatchkins

    18. Januar 2018 um 9:36 Uhr


  • @AntonyHatchkins hätte ein Punkt (Punkt) folgen sollen und wurde dem Beispiel in der akzeptierten Antwort entnommen.

    – ProNotion

    22. Januar 2018 um 12:33 Uhr

  • @ProNotion Entschuldigung, ich habe Sie falsch verstanden. git reset HEAD -- . unterscheidet sich darin, dass es nur Dateien im aktuellen Verzeichnis und darunter zurücksetzt, während git reset setzt alle Dateien im Projekt zurück.

    – Antony Hatchkins

    23. Januar 2018 um 10:07 Uhr

1646319490 732 Wie entferne ich Dateien aus dem Git Staging Bereich
max

Wenn Sie bereits eine Reihe unerwünschter Dateien übertragen haben, können Sie sie aus der Staging-Umgebung entfernen und Sagen Sie git, sie als gelöscht zu markieren (ohne sie tatsächlich zu löschen) mit

git rm --cached -r .

--cached weist es an, die Pfade aus dem Staging und dem Index zu entfernen, ohne die Dateien selbst zu entfernen und -r arbeitet rekursiv mit Verzeichnissen. Sie können dann git add alle Dateien, die Sie verfolgen möchten.

  • Ich nehme an, es ist “git rm — “.

    – Alexander Mills

    25. November 2014 um 9:22 Uhr

  • Es gibt einen schwerwiegenden Fehler, Dateien nicht mit “git rm –” zu entfernen.

    – Alexander Mills

    25. November 2014 um 9:23 Uhr

  • @AlexMills Ich aktualisiere meine Antwort, um die tatsächlichen Optionen für zu erwähnen rm um alle Dateien aus der Staging-Umgebung zu entfernen.

    – max

    25. November 2014 um 15:18 Uhr

  • Ich habe dies an einer einzelnen Datei wie dieser versucht: “git rm –cached my/file.java” und ich sehe diese Datei immer noch im Staging-Bereich, aber als gelöscht! @Max Wenn Sie diesen Befehl ausführen, werden Ihre Dateien tatsächlich gelöscht oder nur nicht bereitgestellt? Wenn Sie nicht nach diesem Verhalten suchen, würde ich mit Antwort gehen.

    – Orwell Hindenberg

    12. Juni 2015 um 17:21 Uhr


  • @OrwellHindenberg danke für den Hinweis! --cached ist wirklich, das Verfolgen von Dateien zu stoppen, die Sie bereits festgeschrieben haben. Die Datei wird also nicht wirklich gelöscht, aber Git denkt, dass es so ist. Ich habe dies in meiner Antwort klargestellt.

    – max

    13. Juni 2015 um 2:40 Uhr

Verwenden Sie Folgendes, um eine bestimmte Datei aus dem Staging-Bereich zu entfernen:

git restore --staged <individual_file>

Oder verwenden Sie Folgendes, um alle Dateien zu entfernen, die derzeit bereitgestellt werden:

git restore --staged .

In Ihrem Git-Bash-Terminal können Sie nach dem Hinzufügen von Dateien zum Staging-Bereich a ausführen git status und der Befehl wird Ihnen über den aktuellen Staging-Dateien angezeigt:
Geben Sie hier die Bildbeschreibung ein

  • Danke für deine tolle verwandte Antwort.

    – AmerllicA

    14. April 2021 um 22:05 Uhr

  • Dies ist die von Git selbst empfohlene Methode zum Unstaging von Dateien

    – Aris

    20. Oktober 2021 um 9:43 Uhr

1646319491 981 Wie entferne ich Dateien aus dem Git Staging Bereich
Schatten

Du könntest benutzen

git reset HEAD

Fügen Sie dann die gewünschten Dateien hinzu

git add [directory/]filename

  • Mit überschüssigen Ordnern, git status wird es dir sagen Arbeitsverzeichnis sauber – Lügen! git clean -df hat es geschafft, danke.

    – Löwe

    30. Mai 2016 um 1:26 Uhr

  • Beachten Sie, dass git clean -df löscht Dateien dauerhaft. Auf UNIX-ähnlichen Systemen wird es aufrufen unlink() und Ihre gelöschten Dateien können nicht wiederhergestellt werden.

    – Hanxue

    31. Mai 2016 um 7:55 Uhr

  • Das OP fragt nach dem Unstaging der Dateien. Sie raten ihm, die Dateien zu löschen. Ich würde vorschlagen, dass Sie sich über den Staging-Bereich informieren, bevor Sie antworten.

    – Antony Hatchkins

    10. September 2016 um 17:59 Uhr

  • Die Frage wurde einige Monate, nachdem ich sie beantwortet hatte, erneut bearbeitet. Dadurch können einige Antworten für den Fall ungültig werden.

    – Schatten

    30. Januar 2018 um 17:13 Uhr

  • OK. Gekürzt und gereinigt.

    – Schatten

    19. Februar 2018 um 11:26 Uhr

1646319491 292 Wie entferne ich Dateien aus dem Git Staging Bereich
Akash Bisariya

Um alle Dateien aus dem Staging-Bereich zu entfernen, verwenden Sie –
git reset

Um eine bestimmte Datei zu entfernen, verwenden Sie –
git reset "File path"

  • Mit überschüssigen Ordnern, git status wird es dir sagen Arbeitsverzeichnis sauber – Lügen! git clean -df hat es geschafft, danke.

    – Löwe

    30. Mai 2016 um 1:26 Uhr

  • Beachten Sie, dass git clean -df löscht Dateien dauerhaft. Auf UNIX-ähnlichen Systemen wird es aufrufen unlink() und Ihre gelöschten Dateien können nicht wiederhergestellt werden.

    – Hanxue

    31. Mai 2016 um 7:55 Uhr

  • Das OP fragt nach dem Unstaging der Dateien. Sie raten ihm, die Dateien zu löschen. Ich würde vorschlagen, dass Sie sich über den Staging-Bereich informieren, bevor Sie antworten.

    – Antony Hatchkins

    10. September 2016 um 17:59 Uhr

  • Die Frage wurde einige Monate, nachdem ich sie beantwortet hatte, erneut bearbeitet. Dadurch können einige Antworten für den Fall ungültig werden.

    – Schatten

    30. Januar 2018 um 17:13 Uhr

  • OK. Gekürzt und gereinigt.

    – Schatten

    19. Februar 2018 um 11:26 Uhr

1646319491 16 Wie entferne ich Dateien aus dem Git Staging Bereich
Andrea Carraro

Es ist sehr einfach:

  1. So überprüfen Sie den aktuellen Status einer Datei im aktuellen Verzeichnis, unabhängig davon, ob sie bereitgestellt wird oder nicht:

    git status

  2. Staging beliebiger Dateien:

    git add . für alle Dateien im aktuellen Verzeichnis

    git add <filename> für bestimmte Datei

  3. Unstaging der Datei:

    git restore --staged <filename>

924540cookie-checkWie entferne ich Dateien aus dem Git-Staging-Bereich?

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

Privacy policy