2016-05-18 7 views
3

git status in einem Git-Repository Rennen, die ich erhalten:Gleiche Dateien sowohl als untracked aufgelistet und gelöscht

Changes not staged for commit: 
    (use "git add/rm <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

     deleted: path/to/file1.sql 
     deleted: path/to/file2.sql 
     deleted: path/to/file3.sql 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

     path/to/file1.sql 
     path/to/file2.sql 
     path/to/file3.sql 

no changes added to commit (use "git add" and/or "git commit -a") 

Jede andere Datei in Ordnung ist. Ich habe bereits versucht, zurücksetzen, checkout, etc., und klonen auch das Repository wieder (wir verwenden einen zentralen Server). Nichts löst das Problem, sondern nur für einen bestimmten Benutzer, der Windows verwendet. Das Problem tritt unter Linux nicht auf.

Zusätzliche Informationen:

  • git diff zeigt keine Ausgabe.
  • Ich habe bereits versucht, core.autocrlf auf false zu setzen.
+3

Dies ist sicher kein Leitungsproblem am Ende, wie dann die Dateien würden einfach als geändert angezeigt werden, nicht als gelöscht und gleichzeitig nicht verfolgt. Ich vermute eher ein Gehäuseproblem hier. Sind die Pfade wirklich identisch oder gibt es Unterschiede in Groß-/Kleinschreibung? – Vampire

+0

Zeigen Sie uns Ihr .gitignore und die Ausgabe von 'git log - Pfad/zu/file1.sql Pfad/zu/file2.sql Pfad/zu/file3.sql' –

+0

Ist dies der Fall, nachdem Sie Änderungen am Arbeitsverzeichnis vorgenommen haben, oder sofort nach dem Auschecken der Zweigstelle/Klonen des Repositories? –

Antwort

2

Es war eigentlich eine sehr einfache Sache: die Dateien mit einem Leerzeichen am Ende des Dateinamen begangen worden sind. Anscheinend kann Windows nicht damit umgehen, und automatisch entfernt den Speicherplatz jedes Mal (nach dem Klonen, nach dem Checkout, etc.).

Also Git zeigt die richtigen Informationen, die Datei "path/to/file1.sql " wurde gelöscht, und die Datei "path/to/file1.sql" ist neu (Entschuldigung, das hat nicht in der Frage angezeigt, jetzt, dass ich jetzt es korrigiert, um den Platz in der Probe Git anzuzeigen Ausgabe).

Ich konnte nicht auf dem ersten bemerken, weil ich einfach ls den Inhalt des Verzeichnisses /path/to/ auf Linux ed, nachdem er, dass git status war es in Ordnung, und versuchte, alles in Windows zu debuggen (nicht möglich, es sei denn, man irgendwie feststellen, dass Leerzeichen durch Auswahl des rechten Teils der Git-Ausgabe). Während ich eine zusätzliche Kontrolle über die Dateinamen durchführen (unter Linux) dank Vampire ‚s comment erhielt ich das seltsame Ergebnis

ls /path/to/file1.sql 
ls: file not found 

Nach TAB drücken und zu sehen "/path/to/file1.sql\ " ich es herausgefunden. Ich denke, das Problem ist ziemlich trivial, aber da es nicht jeden Tag passiert, dass jemand Dateien mit einem Leerzeichen am Ende des Namens festschreibt, kann es wohl eine Weile dauern, bis es ein Problem mit Git gibt.

Also ich werde die Frage und die Antwort für jetzt verlassen, wenn Sie nicht einverstanden sind, nur ablehnen und ich werde alles löschen.

Vielen Dank an alle, die in den Kommentaren geholfen haben.

0

hatte ich ein sehr ähnliches Problem, hier diskutiert Git doesn't stage my files any longer, and reports them as both "deleted" and "untracked". Why is that, and how to avoid it?

ich gefunden:

  • Mit git add --all funktionierte gut

  • Mit git add -A auf die Bühne hat nicht funktioniert ... auch wenn es soll dem ersten

  • äquivalent sein war dein Problem, aber es war nicht, was meins verursacht :(es bleibt ungelöst. Zu Ihrer Information, ich arbeite an Mac OS 10.10

  • ich immer noch das Problem jedes Mal, wenn ich meine Datei mit dem einfachen Befehl hinzufügen git add filename (ohne Leerzeichen), und es immer noch durch Zugabe alles (git add --all) lösen So ist es ein bisschen ein Streit (für beides nicht praktisch und unerklärt bleiben), aber ich kann immer noch mit meiner Arbeit fortfahren. Hier

ist die Darstellung, was funktioniert hat, was nicht, was das Problem neu erstellt, und was löste es zurück:

$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 

$ git add Challenge28.py 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    modified: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    .gitignore 
    ch28_NN.py 
    requirements.txt 

$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 

$ git add Challenge28.py 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    deleted: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    .gitignore 
    Challenge28.py 
    ch28_NN.py 
    requirements.txt 

$ git add -A 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    deleted: .gitignore 
    deleted: Challenge28.py 
    deleted: ch28_NN.py 
    deleted: requirements.txt 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    .gitignore 
    Challenge28.py 
    ch28_NN.py 
    requirements.txt 

$ git add --all 
$ git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    modified: Challenge28.py 
    modified: ch28_NN.py 
Verwandte Themen