Nasıl başka bir şey üzerinde çalışırken kaydedilmemiş değişiklikleri bir sürü kenara koyayım
Kaydedilmemiş değişiklikler var ve bir kenara başka bir şey üzerinde çalışmak yerine, ve daha sonra (f.ayarlamak istiyorsanız ben. ve devam çalışma için birkaç gün sonra geri gel. Bunu yapmanın en kolay iş ne olurdu? (Şimdiye kadar Mercurial temel işlevsellik) ile tek deneyimim var. Her zamanki yöntemi yeni bir şube klon oluşturmak için, ama daha iyi bir yolu olabilir.
CEVAP
Seçenekleri bir avuç vardır:
Shelve öğeleri. Bu şube devam edebilmesi için değişiklikleri kaydeder ve çalışma dizininden kaldırır. Bir değişiklik kümesi oluşturmak değil.
hg shelve --all --name "UnfinishedChanges" hg unshelve --name "UnfinishedChanges"
/Düzenle: Mercurial daha yeni sürümlerini kullanmak gerekebilir
hg shelve -n "UnfinishedChanges" hg unshelve "UnfinishedChanges"
Hala
-n
ama mercurial alternatif--name
gibi görünmüyor gibi--name
artık kullanabilirsiniz. Ayrıca,--all
artık gerekli değildir, ve mercurial aslında bunun için panik olurlar.Patch queue öğeler
mq
kullanarak. Bu bazı açılardan rafa kaldırmak çok farklı değil, ama farklı davranır. Sonuç aynı, değişiklikler kaldırılır ve isteğe bağlı olarak yeniden uygulandıktan sonra olabilir. Yamalar mantıklı itti-ayarlar değiştiğinde, ortaya çıkınca başka bir yerde kaydedilir ve set değiştirme tarihinin bir parçası.hg qnew "UnfinishedWork" hg qrefresh hg qpop hg qpush "UnfinishedWork"
Bunları yerel olarak işlemek, önceki-set ve çalışmaya devam güncelleştirme ve anonim dalları (veya birden fazla kafa). Eğer daha sonra bir değişiklik istiyorsanız, kafaları birleştirebilirsiniz. Eğer bir değişiklik istiyorsanız Eğer, değişim seti 19**.
hg commit -m"Commiting unfinished work in-line." hg update -r<previous revision> hg strip -r<revision of temporary commit>
Adında bir şube için onları bağlamak. İş akışı sonra seçenek 3 - hazır olduğunuzda birleştirme ya da şerit olarak aynı olur.
hg branch "NewBranch" hg commit -m"Commiting unfinished work to temporary named branch." hg update <previous branch name>
Kişisel değişim setleri sıyırma veya kısmi kontrol kodu (sonunda basılmadığı sürece) sorun yok gibi ya da 4 seçenek 3 kullanıyorum. Bu ihtiyaç eğer değiştirmek-ayarlar diğer kullanıcılardan ** 20 yerel saklamak için yeni malzeme ile birlikte kullanılabilir.
Ben de rebase
birleştirme yerleri değiştirmek setleri birleştirir önlemek için etrafında taşımak için komut kodu tarihine bir şey eklemek olmaz kullanın. Birleştirir önemli dalları (serbest dalları gibi), ya da daha uzun ömürlü özelliği, bir şube faaliyet arasında faaliyet kurtarmak için eğilimindedir. Ayrıca "onları azaltır" değerini. konuşkan olmam yerleri değiştirmek-ayarlar sıkıştırmak için kullanıyorum histedit
komutu var
Yama kuyruklar da bunun için ortak bir mekanizma vardır, ama semantik yığını var. Ve yamalar, ama "başka yama yığınının üstüne bir de itilmiş olması gerekir. altında bir yama push pop
Uyarıolduğunu , tüm bu seçenekler, eğer bu dosyalar daha fazla değişiklik bu yana geçici olarak değiştiren ettik rafa / sıraya / dallı, birleştirme çözünürlük gerektiğinde BM-raf / itme / birleştirme.
Dosyalar ve klasörler de dahil olmak ü...
Nasıl bir Git branch yerel kaydedilmem...
Nasıl sayfa üzerinde herhangi bir yerd...
Nasıl Linux üzerinde başka bir uygulam...
Nasıl başka bir repo için github üzeri...