.gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien würden beim Auschecken überschrieben“

Lesezeit: 7 Minuten

gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien wurden beim Auschecken
Markmillion

Also habe ich meiner .gitignore-Datei einen Ordner hinzugefügt.

Einmal mache ich a git status es sagt mir

# On branch latest
nothing to commit (working directory clean)

Wenn ich jedoch versuche, die Zweige zu ändern, erhalte ich Folgendes:

My-MacBook-Pro:webapp marcamillion$ git checkout develop
error: The following untracked working tree files would be overwritten by checkout:
    public/system/images/9/thumb/red-stripe.jpg
    public/system/images/9/original/red-stripe.jpg
    public/system/images/8/thumb/red-stripe-red.jpg
    public/system/images/8/original/red-stripe-red.jpg
    public/system/images/8/original/00-louis_c.k.-chewed_up-cover-2008.jpg
    public/system/images/7/thumb/red-stripe-dark.jpg
    public/system/images/7/original/red-stripe-dark.jpg
    public/system/images/7/original/DSC07833.JPG
    public/system/images/6/thumb/red-stripe-bw.jpg
    public/system/images/6/original/website-logo.png
    public/system/images/6/original/red-stripe-bw.jpg
    public/system/images/5/thumb/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/5/original/logocompv-colored-squares-100px.png
    public/system/images/5/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/4/thumb/DSC_0001.JPG
    public/system/images/4/original/logo.png
    public/system/images/4/original/DSC_0001.JPG
    public/system/images/4/original/2-up.jpg
    public/system/images/3/thumb/logo2.gif
    public/system/images/3/original/logo2.gif
    public/system/images/3/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/3/original/11002000962.jpg
    public/system/images/2/thumb/Profile Pic.jpg
    public/system/images/2/original/Profile Pic.jpg
    public/system/images/2/original/02 Login Screen.jpg
    public/system/images/1/original/Argentina-2010-World-Cup.jpg
Please move or remove them before you can switch branches.
Aborting

So sieht meine .gitignore-Datei aus:

.bundle
.DS_Store
db/*.sqlite3
log/*.log
tmp/**/*
public/system/images/*
public/system/avatars/*

Wie bekomme ich das zum Laufen, damit ich Branches wechseln kann, ohne diese Dateien zu löschen?

Wenn ich eine Änderung vornehme, wirkt sich das auf diese Dateien aus? Mit anderen Worten, wenn ich danach zu diesem Zweig zurückkäme, wäre alles perfekt bis zu meinem letzten Commit?

Ich möchte diese Dateien nicht verlieren, ich möchte nur nicht, dass sie nachverfolgt werden.

  • Wenn Sie sich wirklich nicht für diese Dateien interessieren: git checkout -f In meinem Fall werden die Dateien im Build-Prozess generiert, also ist es mir egal

    – Hobbamok

    21. September 2018 um 11:29 Uhr

  • Passiert manchmal, wenn Sie ‘git checkout’ machen (ohne Branch-Namen). Um das Problem zu beheben, führen Sie „git checkout branchname“ aus.

    – Handwerker

    5. November 2018 um 14:32 Uhr

  • Separate, aber kritisch verwandte Frage: Warum tritt dieser Fehler überhaupt auf? warum kann git nicht einfach zwischen branchen wechseln?

    – ahnbizcad

    8. Dezember 2018 um 1:55 Uhr

  • @ahnbizcad Denn wenn Sie an einer neuen Datei arbeiten und jemand in einem anderen Zweig zufällig eine Datei mit demselben Namen festschreibt, wären Sie sauer, wenn Git Ihre Version beim Wechseln der Zweige zerstört hätte. Deshalb gibt es das Flag -f.

    – Matthäus Scharf

    30. Juli 2019 um 1:12 Uhr

1646632690 945 gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien wurden beim Auschecken
Regis

Warnung: Dadurch werden die lokalen Dateien gelöscht, die nicht indiziert sind

Einfach erzwingen: git checkout -f another-branch

  • Warnung: Dadurch werden die lokalen Dateien gelöscht, die nicht indiziert sind.

    – Geschenk

    2. Januar 2014 um 20:23 Uhr

  • git clean hat bei mir nicht funktioniert, aber force war genau das, was ich brauchte. Es hing an diesem Ast fest und ich brauchte es nur, um den Ast zu wechseln.

    – Simon die Katze

    26. November 2014 um 20:03 Uhr

  • Ich wollte die Datei nicht, die nicht indiziert war! +1 für dich

    – Ryanstack

    19. März 2015 um 22:54 Uhr


  • Ich habe diesen Fehler,,, 🙁 error: pathspec 'mybranch' did not match any file(s) known to git.

    – Budi Mulyo

    24. Januar 2019 um 5:51 Uhr

  • Dies ist die wahre Antwort.

    – Metaaffe

    19. Februar 2019 um 5:08 Uhr

  • Danke …. Ich habe alle Dateien aus dem aktuellen Zweig entfernt und gesichert. Dann Zweige getauscht und zurückgelegt. Das hat funktioniert. Danke auch für den Tipp zu .gitignore

    – Markmillion

    1. Februar 2011 um 2:36 Uhr

  • Ich hatte ein Problem mit einem /build-Ordner, der nicht nachverfolgt werden muss. Also habe ich den lokalen Ordner gelöscht, meine .gitignore-Datei übergeben und dann den anderen Zweig ausgecheckt. Das hat bei mir endlich funktioniert.

    – Mike S.

    12. Oktober 2011 um 19:40 Uhr

  • Ich denke, der erste Teil ist für die Umkehrung dieser speziellen Fehlermeldung. Dieser Fehler besagt, dass sich der Benutzer derzeit in einem Zweig befindet, in dem diese JPG-Dateien nicht nachverfolgt werden, und der Benutzer versucht, zu einem Zweig zu wechseln, der dies tut. Also tun git rm --cached wird keinen Unterschied machen, diese Dateien existieren nicht im aktuellen Zweig. Für diesen Fehler muss der Benutzer meiner Meinung nach stattdessen der Antwort von @Greg Hewgill folgen: “Verschieben Sie sie aus der Arbeitskopie, wechseln Sie die Zweige und verschieben Sie sie zurück”.

    – Studienfreak

    29. Januar 2013 um 22:20 Uhr


  • Wie würde man vorgehen, um das zu lösen your files would be overwritten mit fatal: pathspec 'test/node_modules' did not match any files wenn ich es tue git rm -r --cache test/node_modules? Ich kann wegen der überschriebenen Nachricht nicht ziehen und nicht entfernen, weil Git sie nicht finden kann (sie sind da)

    – HMR

    6. Februar 2015 um 7:40 Uhr

  • @rocksNwaves Hat der Zweig, den Sie ändern möchten, auch diese Dateien festgeschrieben? Wenn dies der Fall ist und Sie nicht möchten, dass diese Dateien in einem Zweig nachverfolgt werden, sollten Sie die Dateien zuerst außerhalb des Git-Repositorys sichern. Dann können Sie zu jedem Zweig wechseln und verwenden git rm um die Dateien in diesem Zweig zu löschen und zu übergeben. Schließlich können Sie die Dateien zurück verschieben und sie werden nicht mehr überschrieben.

    – Pfeilmeister

    20. Dezember 2020 um 21:49 Uhr

Wenn Sie OS X verwenden, kann dies daran liegen, dass der Name einer Datei die Groß- und Kleinschreibung bestimmter Zeichen geändert hat. Versuchen Sie, die folgende Konfigurationsoption festzulegen:

git config core.ignorecase true

  • Es funktionierte auch unter Windows, es sieht so aus, als ob diese Situation überhaupt aufgrund einer Falländerung aufgetreten ist, die GIT nicht feststellen konnte

    – SagiLow

    30. Januar 2015 um 13:08 Uhr

  • Das ist genau das Problem, das ich hatte, ein Dateipfad war um einen Buchstaben unterschiedlich – Windows behandelt dies als gleich, GIT jedoch nicht, was das Problem ist.

    – Daniel Sokolowski

    1. August 2015 um 3:19 Uhr

  • Mein Problem ist beim Auschecken eines anderen Zweigs in Windows 10 aufgetreten, und nur dieser funktioniert für mich, danke

    – Weijie Sonne

    11. April 2017 um 15:49 Uhr

  • fantastisch! Dies behebt mein Problem, als ich mich zwischen Tags bewegte

    – William Añez

    24. August 2017 um 18:24 Uhr

  • Es funktioniert auch, wenn Sie es versuchen git rebase auch. Danke.

    – Benutzer3890355

    9. August 2018 um 12:59 Uhr

1646632691 398 gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien wurden beim Auschecken
Greg Hewgill

Git teilt Ihnen mit, dass es Dateien (mit dem Namen public/system/images/9/... etc), aber Sie haben bereits Dateien in diesem Verzeichnis, die sind nicht verfolgt von Git. Vielleicht hat jemand anderes diese Dateien zum Git-Repository hinzugefügt, und dies ist das erste Mal, dass Sie zu diesem Zweig wechseln?

Es gibt wahrscheinlich einen Grund, warum diese Dateien in Ihrem develop Filiale, aber nicht in Ihrer aktuellen Filiale. Möglicherweise müssen Sie Ihre Mitarbeiter fragen, warum das so ist.

Wie bekomme ich das zum Laufen, damit ich Branches wechseln kann, ohne diese Dateien zu löschen?

Sie können es nicht tun, ohne die Dateien irgendwie verschwinden zu lassen. Du könntest umbenennen public zu my_public oder etwas für jetzt.

Wenn ich danach zu diesem Zweig zurückkäme, wäre alles perfekt bis zu meinem letzten Commit?

Wenn Sie Ihre Änderungen festschreiben, verliert Git sie nicht. Wenn Sie Ihre Änderungen nicht festschreiben, wird sich Git wirklich bemühen nicht zu überschreiben, was Sie getan haben. Davor warnt Sie Git hier in erster Linie (als Sie versucht haben, Branches zu wechseln).

  • Es funktionierte auch unter Windows, es sieht so aus, als ob diese Situation überhaupt aufgrund einer Falländerung aufgetreten ist, die GIT nicht feststellen konnte

    – SagiLow

    30. Januar 2015 um 13:08 Uhr

  • Das ist genau das Problem, das ich hatte, ein Dateipfad war um einen Buchstaben unterschiedlich – Windows behandelt dies als gleich, GIT jedoch nicht, was das Problem ist.

    – Daniel Sokolowski

    1. August 2015 um 3:19 Uhr

  • Mein Problem ist beim Auschecken eines anderen Zweigs in Windows 10 aufgetreten, und nur dieser funktioniert für mich, danke

    – Weijie Sonne

    11. April 2017 um 15:49 Uhr

  • fantastisch! Dies behebt mein Problem, als ich mich zwischen Tags bewegte

    – William Añez

    24. August 2017 um 18:24 Uhr

  • Es funktioniert auch, wenn Sie es versuchen git rebase auch. Danke.

    – Benutzer3890355

    9. August 2018 um 12:59 Uhr

gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien wurden beim Auschecken
Benutzer7294900

Das hat bei mir funktioniert.

 1. git fetch --all
 2. git reset --hard origin/{branch_name}

  • Bitte fügen Sie eine Erklärung zu Ihrer Lösung hinzu. siehe stackoverflow.com/help/how-to-answer

    – Benutzer7294900

    8. Januar 2018 um 12:54 Uhr

  • Hier ist meine Meinung. Ihre lokale Kopie des Remote-Zweigs enthält irgendwie alle nicht nachverfolgten Dateien. Sie checken das aus, um die nicht nachverfolgten Dateien wiederherzustellen, über die es sich ursprünglich beschwert hat. Jetzt können Sie zu anderen Filialen wechseln

    – ahnbizcad

    8. Dezember 2018 um 1:24 Uhr

  • Aus irgendeinem Grund ist dies die einzige funktionierende Lösung für mich. Danke Kumpel.

    – JFK

    29. Januar 2019 um 4:04 Uhr

  • Mein Problem gelöst. Danke

    – Devashis Kant

    29. März 2019 um 12:02 Uhr

  • Vielen Dank, so einfach! git reset –soft origin/develop . Wie ich diese Zusammenführungskonfliktbearbeitung hasse. Dieser Befehl so schön und einfach.

    – neun9fünf

    9. Juni 2019 um 7:58 Uhr

963370cookie-check.gitignore und „Die folgenden nicht nachverfolgten Arbeitsbaumdateien würden beim Auschecken überschrieben“

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

Privacy policy