2012-04-02 2 views
1

ich habe versucht, was von einer früheren Stackoverflow Frage vorgeschlagen wurde, wie Dateien zu ignorieren: Ignore files that have already been committed to a Git repositorygit add/commit zu löschen und nicht nur zu ignorieren .gitignore ignoriert Datei

was vorgeschlagen wurde:

git rm -r --cached . 

der Befehl ich verwende:

git rm -r --cached application/config/config.php 
//i only want to ignore this one file 

Leider, wenn ich git add. tun und dann git commit mein config.php ist gelöscht aus dem Repository und nicht einfach ignoriert.

ich eine .gitignore Datei in meinem Stammverzeichnis haben, und es enthält die folgende Liste Artikel:

application/config/config.php 

könnte jemand in der Lage sein, mir zu helfen zu verstehen, warum diese config.php gelöscht wird und nur nicht ignoriert werden?

hier ist, was meine git status zeigt:

$ git status 
# On branch 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) 
# 
# modified: .gitignore 
# modified: application/config/config.php 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

danke,

tim

+1

Was ist der 'git status' Bericht bevor Sie' addieren' und 'commit' ausführen? – Ali

+0

hallo Ali, bitte siehe modifizierte Frage oben, danke! –

+0

Sie haben die Datei geändert. Versuchen Sie 'git checkout - application/config/config.php' – mschonaker

Antwort

3

Es ist aus dem Repository entfernt werden, weil Sie es entfernt. git rm ist die Datei zu entfernen und die --cached speichert es in Ihrem Arbeitsverzeichnis.

Sie können git update-index --assume-unchanged <filename> tun, wenn Sie es so machen möchten, dass es Änderungen in einer Datei nie bemerkt, aber die alte Version in Ihrem Repository belässt. Weitere Informationen finden Sie hier: http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html

+0

Hallo Dan, das hat perfekt funktioniert! Ich hatte den Verdacht, dass 'rm' nicht das richtige Kommando war, aber nichts über 'git update-index ...' wusste. Vielen Dank! –

+0

funktioniert bei mir auch vielen dank;) –