2013-03-27 18 views
22

Mercurial'da hg add yazıp çalışma dizinimde göz ardı edilmeyen bir sürü izlenmeyen dosya var. Her dosyanın adını açıkça yazmadan tüm bu dosyaları eklemenin en kolay yolu nedir?Tüm eklenen dosyaları Mercurial'da geri yükleme

Hepsini birer bir komut ile ekleyebilir miyim?

+0

http://stackoverflow.com/questions/6183374/undoing-last-addremove-in-mercurial – Eborbob

cevap

24

Sen her zaman mümkün olarak kadar çok bilgi içeriyor soruları sormalıyız

Önsöz. Çünkü şimdi sorunuz, bazı koşullara bağlı olarak, tamamen farklı cevaplara sahip olabilir.

Vaka Tek - zaten sürüm dosyalarında hiçbir yerel modifikasyonlar, sadece eklenen (ve taahhüt değil) Tüm değişiklikleri buna geri almayı, taahhüt son sonra durumuna çalışma dizinini döndürür

hg revert dosyaları.

Vaka Tek - ara sıra kaydetmek ve istediğiniz yerel düzenlemeler, Mercurial içinde dosya setlerini ilgili dosyaları

  1. Oku eklendi.
  2. hg forget "set:added()" gibi hg forget komutunda dosya kümesini kullanın. dosyalar üzerinde
-1

Her zamanda hiçbir bekleyen kaydedilmesini olduğunu varsayarak (... taze klon gelen biriyle çalışma klasöründe (mevcut silin ve ardından yeni kopya) değiştirin sonra .hg dizini deponuzu yeniden klonlamak ve başladı. .)

+0

Çoğaltması Bu, teoride çalışılabilir gibi görünüyor, ancak hataya eğilimli olabilir. Yeni bir klonda el ile çoğaltmak istemediğiniz büyük miktarda yerel değişiklikiniz varsa, bu en iyi seçenek olabilir. Yaratıcı çözüm zaten! – DaveInCaz

19

kullanın hg revert veya hg forget (hem size hg add ran bir dosya için aynı şeyi). dosya adlarını yazarak önlemek için, böyle bir fileset kullanabilirsiniz:

$ hg revert "set:added()" 

Bu yani, yine bilinmeyen olacak, işçi kopya ebeveyn revizyon nasıl göründüğünü geri dosyayı döner.

+0

Merhaba Martin. Muhtemelen bu, mevcut dosyalardaki değişiklikleri de geri alacak olan, sadece geri dönüşten daha hassastır? –

+0

@FaheemMitha Evet, tam olarak. –

İlgili konular