SORU
29 Mart 2010, PAZARTESİ


Mercurial — eski sürüme geri dönmek ve oradan devam

Yerel olarak Değişken bir proje (/çekerek başka bir yerden iterek yok sadece repo) için kullanıyorum.

Tarih doğrusal bir geçmişi var. Ancak, şimdi fark ettim üzerinde çalışıyorum geçerli olan şey korkunç bir yaklaşım olduğunu ve bunu farklı bir şekilde uygulamaya başlamadan önce sürüme geri dönmek istiyorum.

Biraz Mercurial içinde/ update -C branch / revert komutları ile kafam karıştı. Temelde sürüm 38 (şu anda 45) döner ve benim bir sonraki işleyen bir ebeveyn olarak 38 ve oradan devam etmek istiyorum. Eğer revizyonlar 39-45 hiç kendi çıkmaz bir şube sonunda kayıp iseniz umurumda değil.

Hangi komut / set komutları ihtiyacım var?

CEVAP
2 NİSAN 2010, Cuma


Hile komutları sayfa:

  • hg updateçalışma kopyası ebeveyn revizyon değişiklikleri ve ayrıca dosya içeriğini bu yeni ana revizyon uyacak şekilde değişir. Bu yeni bir taahhüt revizyonu için güncelleme devam edecektir.

  • hg revertdosya içeriği ve çalışma kopyası ebeveyn revizyon yaprakları tek başına değiştirir. Genellikle çalışma kopyasını bir dosyaya yaptığınız değişiklikleri uncommited tutmak istemediğine karar ne zaman hg revert kullanın.

  • hg branchbaşlar yeni adında bir şube. Değişiklik kümeleri için atadığınız bir etiket olarak adlandırılan bir şube düşünün. Eğer bunu yaparsanız hg branch red, sonra aşağıdaki değişiklik "" şube. kırmızıya ait olarak işaretlenmiş olacak Bu farklı insanlar farklı dallarda iş ne zaman değişiklik, özellikle organize etmek için iyi bir yol olabilir ve daha sonra bir değişiklik kökenli yeri görmek istiyorum. Ama senin durumunda çok kullanmak istemiyorum.

Eğer hg update --rev 38, sonra da değişiklik kullanırsanız 39-45 çıkmaz sokak — dediğimiz gibi sarkan bir baş olarak kalacaktır. "Birden fazla kafa" depodaki itin. oluşturmakta beri bastığınızda bir uyarı alacaksın Uyarı kaba bir yana, biri bir iş yapmak için gereken önerdikleri beri böyle kafaları birleştirme terk etmektir. Ama senin durumunda sadece gerçekten bırakmak ister beri devam edin ve 9**.

Eğer Henüz başka bir yere revizyon 39-45 itti değilse, o zaman gizli tutun. hg clone --rev 38 foo foo-38 sadece revizyon 38 içeren yeni yerel bir klon. çok basit: foo-38 çalışmaya devam etmek ve oluşturmak (iyi) yeni değişiklik zorlayabilir. Hala foo klon (kötü) eski revizyonlar olacak. (Örneğin, foo 14 ** 15***.* 16) siz nasıl isterseniz klonlar yeniden adlandırmak için ücretsiz

Son olarak da hg revert --all --rev 38 ve sonra commit kullanabilirsiniz. Bu revizyon 38 aynı görünen bir revizyon 46 yaratacaktır. Sonra revizyon 46 çalışmaya devam edeceğiz. Bu alışkanlık hg update gibi açık bir şekilde tarihi bir çatal oluşturmak, ama diğer taraftan sana çok başlıklı olması konusunda alışkanlık olsun şikayet etmez. Eğer zaten kendi çalışmalarını Gözden Geçirme 45 dayanarak yapmış kişilerle işbirliği olsaydım hg revert kullanırdım. Aksi takdirde, hg update daha belirgindir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • habpsu

    habpsu

    25 Temmuz 2007
  • kylediablo

    kylediablo

    8 Ocak 2007
  • USI Events

    USI Events

    6 AĞUSTOS 2013