2011-05-17 31 views
29

Aşağıdaki xtx36 git .ignore dizinde çalışmıyor

# file named .gitignore 

system/application/config/database.php 
system/application/config/config.php 
system/logs 
modules/recaptcha/config/* 

Ancak yapılandırma ve recapcha.php'de herhangi bir değişiklik eklediğimde, git durumu beni aşağıdaki gibi uyarır. Veritabanı.php'ye herhangi bir değişiklik eklediğimde.

[email protected]:/var/www/myapp$ git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 1 commit. 
# 
# 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: modules/recaptcha/config/recaptcha.php 
# modified: system/application/config/config.php 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

durumunu nasıl gösterebilirim Bunu nasıl düzeltebilirim?

Şimdiden teşekkürler.

Ubuntu 11.04

üzerindeki sürüm 1.7.5.1 sürümünü kullanıyorum
+0

[Git: Dosyayı yerel dosya sisteminden silmeden depodan kaldır] olası bir kopyası (http://stackoverflow.com/questions/1143796/git-remove-a-file-from-the-repository- Yerel olmayan dosyaları silmeden) – Cascabel

cevap

84

Dosyalar zaten yerel bağlı ağacınızda depolanmıştır. Bunları depodan çıkarmanız gerekir. Bu işlem, daha fazla taahhütte bulunmanız ve iyiliğinizin yapılması için git rm --cached system/application/config/config.php modules/recaptcha/config/recaptcha.php aracılığıyla yapılabilir.

+5

Teşekkürler. git rm bir dosyayı kaldırdı. Ama ekleyerek --cached sorunu çözdü. Tekrar eklemek istersem ne yapmam gerekir? Sadece .gitignore dosyasından çıkmam gerekiyor mu? – shin

+1

Teşekkürler, bir çekicilik gibi çalışır! – Rawa

+1

Harika. teşekkür ederim – manuelbcd

2

git sürümünü 1.7.5.1 kullanıyorum çalışma ağacının kök değildir.

sistem/uygulama/config/sadece yolları geçerli dizine göredir

echo config.php >> system/application/config/.gitignore 

kullanabilirsiniz config.php (ya da aynı dizinde bir .gitignore koyarsanız: .gitignore bir dizin başına hariç tut/dosyayı ekle). Bunu takip tutacak budala .gitignore için dizini eklemeden önce dosya Git zaten varsa

bakın adam

8

git-görmezden. Bunu istemiyorsanız, önce onu kaldırmak için bir "git rm" yapın.

+3

Won't 'rm' (' --cached' olmadan) dosyayı da kaldırır mı? Ya da '.gitignore' dosyasında listelendiğinden, onu bırakıyor mu? – DipSwitch

+0

Muhtemelen daha önce bir yere yedeklemelisiniz. İşledikten ve imzaladıktan sonra kopyalayın. Ama ben -cached seçeneğini bilmiyordum, ona bakacağım. –

İlgili konular