Varolan bir Dosyayı Git Deposundan Kaldırma


Yanıtlar:


143

Tam cevabı tek seferde vermek için:

  1. from klemens: Dosyanıza, depodaki .gitignoreistenmeyen dosyanın yukarısında bir yere dosyayı eklemeniz gerekir . yani

    $ cd $ cat >> .gitignore development.log Cd

  2. m. narebski: Daha sonra " git rm --cached <file>bu kaldırma işlemini gerçekleştirip" gerçekleştirerek dosyayı depodan kaldırmanız gerekir.

Repo'nun o dosyayı hiç izlememiş gibi görünmesini de umuyorsanız, bu çok daha karmaşık ve cesaret kırıcıdır, çünkü yalnızca geçmişinizdeki her bir taahhüt için yepyeni taahhütler yaratmaz, böylece birlikte çalışabilirliği kötü bir şekilde bozar. Deponuzu klonlayan diğer insanlar arasında, ancak aynı zamanda bu taahhütlerin her birini denenmemiş bırakır (taahhütlerinizi yapmadan önce test ettiğinizi varsayarsak).

Bu uyarıyı göz önünde bulundurarak, aradığınız araç, amacınız buysa filter-branch. İlk örnek tam olarak anlattığım şeyi yapıyor.


3
git rm --cached kullanmak sadece benim dalımı kaldırmakla kalmıyor, aynı zamanda başka bir sisteme çektiğimde o sistemdeki dosyaları fiziksel olarak da siliyor. Orada neler olduğu hakkında bir fikrin var mı?
biagidp

2
Yukarıdakilere yanıt olarak: Sorunun, değişiklikleri çekmeden önce alternatif sistemde .gitignore'a sahip olmamamdan kaynaklandığına inanıyorum, bu nedenle silme işlemi yerel kopyayı kaldırdı. En azından teori bu
biagidp

53

Dosyayı izlemeyi durdurmak için kullanın git rm --cached <filename>.

Ancak burada diğerlerinin de belirttiği gibi, dosyayı .gitignore'a eklemek, daha sonra yanlışlıkla tekrar eklemenizi engelleyebilir.


1

gitignore dosyasını ekleyin.

bkz. http://git-scm.com/docs/gitignore


13
Bu, cevabın sadece yarısı. .gitignoregirişler zaten izlenmekte olan dosyalar için geçerli değildir.
CB Bailey

10
İkinci kısım, git rm --cached <file>ve sonra bu kaldırmayı bitirmek.
Jakub Narębski

1
Git'in şu anda izlenen tüm dosyaları geçerli .gitignore dosyasına göre yeniden değerlendirmesi için neden basit bir komut yok? ... yoksa bu çok fazla sağduyu mu kullanıyor? : p
Alexander - Reinstate Monica
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.