2014-03-29 6 views
5

Problem 1. Ich versuche, git meine Datei "altro.src" verfolgen, aber ohne Erfolg. Die Datei wird komplett von git ignoriert, auch wenn sie nicht in .gitignore aufgelistet ist, wird sie nicht mit --ignored angezeigt und selbst wenn ich versuche, sie hinzuzufügen, wird sie nicht berücksichtigt.Git sieht keine Datei ... wie zu verstehen, was los ist?

Ich bin ein Neuling mit Git (dritte commit ... und ich bin schon fest), aber ich habe einige lange Erfahrung mit hg.

Hier einige Befehle das Problem zeigen:

$ ls -al altro.src 
-rw-r--r-- 1 myuser staff 560 28 Mar 09:02 altro.src 

$ git status . 
On branch master 
Your branch is up-to-date with 'origin/master'. 

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

    typechange: moebius.html 

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

$ cat .gitignore 
*~ 
.DS_Store 

/index.html 
/index.en.html 
/moebius.html 
/moebius.en.html 
/altro.html 
/altro.en.html 
$ git status . --ignored 
On branch master 
Your branch is up-to-date with 'origin/master'. 

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

    typechange: moebius.html 

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

    .DS_Store 
    .gitignore~ 
    altro.en.html 
    altro.html 
    altro.src~ 
    base.src~ 
    build_site.py~ 
    index.en.html 
    index.html 
    moebius.en.html 
    moebius.src~ 

no changes added to commit (use "git add" and/or "git commit -a") 
$ git add altro.src 
$ git status . 
On branch master 
Your branch is up-to-date with 'origin/master'. 

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

    typechange: moebius.html 

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

Problem 2. Ich, was „typechange“ auf Datei moebius.html Mittel nicht verstehen, und wie dieser Botschaft loszuwerden (moebius.html ist in meinem .gitignore und ich will es ignoriert werden).

Antwort

3

Ich vermute, es ist nur, dass altro.src unverändert ist, seit Sie es zuvor eingecheckt haben. Git warnt Sie nicht, wenn Sie versuchen, eine unveränderte Datei zu staffeln, aber sie wird nicht zum Staging-Bereich (Index) hinzugefügt, so dass sie nicht in der git status angezeigt wird. Mit anderen Worten, wenn Sie Git bitten, etwas hinzuzufügen, das bereits da ist, hat es keine Arbeit zu tun.

Sie können dies überprüfen, indem Sie git diff altro.src (zeigt möglicherweise keine Änderungen) und git log altro.src (um zu sehen, welche Ihrer Commits es zuvor hinzugefügt hat).

Die typechange Hinweis sagt Ihnen, dass der Dateityp geändert hat (z. B. von einer normalen Datei zu einem Link zu einer Datei).

+0

Ich fühle mich so dumm ... ja das ist was passiert ist. –

+0

Über das * typechange * Problem: Ja, die Datei war ein symbolischer Link und jetzt ist es eine normale Datei. Außerdem wurde die Datei zuvor verfolgt, aber jetzt möchte ich, dass Git sie ignoriert (da sie von Quelldateien erzeugt wird). Wie kann ich diese Nachricht loswerden? –

+0

Wenn Sie Änderungen an 'moebius.html' nicht mehr verfolgen möchten, können Sie' git rm --cached moebius.html' verwenden (das '--cached' behält Ihre Arbeitskopie) und dann die Änderung festschreiben. –