Merkürün deponun mevcut durumundan birkaç dosyayı kaldırmasını istiyorum. Ancak, dosyaların geçmişte var olmasını istiyorum.
Nasıl forget
ve remove
farklı, ve istediğimi yapabilirler mi?
Merkürün deponun mevcut durumundan birkaç dosyayı kaldırmasını istiyorum. Ancak, dosyaların geçmişte var olmasını istiyorum.
Nasıl forget
ve remove
farklı, ve istediğimi yapabilirler mi?
Yanıtlar:
' hg forget
' sadece kısaltmadır ' hg remove -Af
'. ' hg remove
' Yardımından:
... ve -Af, bir sonraki revizyondaki dosyaları çalışma dizininden silmeden kaldırmak için kullanılabilir.
Alt satır: ' remove
' dosyayı diskteki çalışma kopyanızdan siler (siz kullanmazsanız -Af
) ve ' forget
' yapmaz.
Koymak için en iyi yol olduğunu hg forget
olduğunu özdeş etmek hg remove
hariç o geride dosyaları bıraktığı sizin çalışma kopyası. Dosyalar izlenmeyen dosyalar olarak geride bırakılır ve artık isteğe bağlı olarak bir desenle yok sayılabilir .hgignore
.
Başka bir deyişle, kullandığınızdan veya sizden ne zaman çektiğimi söyleyemem . Eğer koştum bir dosya üzerinde olacak kullanmış hemen görürsünüz - O Changeset güncellemek zaman silinecek bunun yerine.hg forget
hg remove
hg forget
hg remove
Belgelerden, dosyayı proje geçmişinde tutmak için her iki komutu da kullanabilirsiniz. Kaldırmak istediğiniz gibi görünüyor, çünkü dosyayı çalışma dizininden de siliyor.
Http://hgbook.red-bean.com/read/ adresindeki Mercurial kitabından :
Bir dosyanın kaldırılması geçmişini etkilemez. Bir dosyayı kaldırmanın sadece iki etkisi olduğunu anlamak önemlidir. Dosyanın geçerli sürümünü çalışma dizininden kaldırır. Mercurial'ın bir sonraki işlemin yapıldığı andan itibaren dosyadaki değişiklikleri izlemesini durdurur. Bir dosyanın kaldırılması hiçbir şekilde dosyanın geçmişini değiştirmez.
Man sayfası hg (1) unutmak için bunu söylüyor:
Belirtilen dosyaları bir sonraki işlemden sonra izlenmeyecek şekilde işaretleyin. Bu, dosyaları tüm proje geçmişinden değil, yalnızca geçerli şubeden kaldırır ve çalışma dizininden silmez.
Ve bu kaldırmayla ilgili:
Belirtilen dosyaları depodan kaldırılmak üzere zamanlayın. Bu, dosyaları tüm proje geçmişinden değil, yalnızca geçerli şubeden kaldırır.
"hg remove b"
Durumu "A" olan bir dosyaya karşı kullanırsanız , bu dosya eklendiği ancak işlenmediği anlamına gelirse Mercurial yanıt verecektir:
not removing b: file has been marked for add (use forget to undo)
Bu yanıt, kaldır ve unut arasındaki farkın çok açık bir açıklamasıdır.
Anladığım kadarıyla, "hg forget"
eklenen ancak işlenmemiş bir dosyayı geri almak, böylece sürüm denetimi tarafından izlenmemesi; ise "hg remove"
sürüm denetiminden kaydedilmiş bir dosyayı almak içindir.
Bu iş parçacığınınhg remove
7 farklı durum türündeki dosyalara karşı kullanımına bir örnek vardır .
Bir dosya izlenebilir veya izlenebilir değil, bir dosyayı izlemek için hg add kullanın ve izini kaldırmak için hg remove veya hg unut. Bayraklar olmadan hg remove'i kullanmak hem dosyayı siler hem de izini kaldırır , hg forget sadece silmeden izini kaldırır .