1048 Stimmen

.gitignore und "Die folgenden nicht verfolgten Arbeitsbaumdateien würden beim Auschecken überschrieben werden"

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

Sobald ich eine git status es sagt mir

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

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

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 kriege ich das hin, dass ich den Zweig wechseln kann, ohne diese Dateien zu löschen?

Wenn ich eine Änderung vornehme, hat das Auswirkungen auf diese Dateien? Mit anderen Worten, wenn ich danach zu diesem Zweig zurückkehre, ist dann alles perfekt bis zu meinem letzten Commit?

Ich will diese Dateien nicht verlieren, ich will nur nicht, dass sie zurückverfolgt werden.

56 Stimmen

Wenn Ihnen diese Dateien wirklich egal sind: git checkout -f <branch> in meinem Fall werden die Dateien während des Erstellungsprozesses generiert, so dass ich mich nicht weniger darum kümmern könnte

0 Stimmen

Das passiert manchmal, wenn man 'git checkout' (ohne Branch-Namen) ausführt. Um dies zu beheben, führen Sie 'git checkout branchname' aus.

3 Stimmen

Separate, aber kritisch verwandte Frage: Warum tritt dieser Fehler überhaupt auf? Warum kann Git nicht einfach zwischen Zweigen wechseln?

2voto

Hillkorn Punkte 623

In meinem Fall git rm --cached hat nicht funktioniert. Aber ich habe es mit einer git rebase

1voto

Lyuboslav Punkte 385

Wenn Sie eine Datei lokal umbenannt haben und dann eine pull eingeben, wird diese Fehlermeldung angezeigt.

0voto

Phil Carter Punkte 1206

Ich bin einfach zum Dateisystem gegangen und habe die Datei direkt gelöscht, dann mit git checkout fortgefahren und es hat funktioniert.

Das Problem ist bei mir mehrmals aufgetreten, und es kann damit zusammenhängen, dass Entwickler löschen, pushen, neu hinzufügen, pushen oder Ähnliches tun.

0voto

vishnuc156 Punkte 1332

Löschen .gitignore Datei von appname/gen/ um dieses Problem zu lösen.

0voto

Markosaurus Punkte 96

In meinem Fall trat dieser Fehler auf, weil ich ein beliebtes Open-Source-CMS verwende und das Verzeichnis, das Probleme verursachte, das Uploads-Verzeichnis war, in das das CMS schreibt.

Es gibt also Dateien, die Sie nicht haben, die Sie aber durch die Versionierung nicht bekommen können.

Ich packe alle Dateien von der Live-Site auf meine lokale, dann werde ich dies in der Repo in der Hoffnung, dass dies das Problem behebt Check.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X