IDEA'da yerel taahhütler grubunu tek seferde nasıl birleştirebilirim?


86

IDEA'da bazı taahhütleri zorlamaya çalışıyorum.

Uzak sunucuda tek işlem gibi görünmesi için bir gereksinimim var.

Basmak ve aşağıdaki pencereyi görmek için tıklıyorum görüntü açıklamasını buraya girin

Burada squash onay kutusunu görmeyi bekliyordum ama görmüyorum.

Lütfen bana yardım et.


2
IDEA tavsiyesi verilemez, ancak ezme, bir taahhüt değil, etkileşimli bir geri ödeme veya birleştirmenin bir parçasıdır. Oraya bakmayı dene.
musiKk

Yanıtlar:


117

Rebase kullanarak yapabilirsiniz. Git VCS / Git / Rebase . Ardından Etkileşimli seçeneğini seçin . Size ezmek istediklerinizi seçebileceğiniz bir işlem listesi gösterecektir.

Eğer vurmak sonra rebasing Başlat bir taahhüt ezilmiş için mesaj taahhüt için isteyecektir. Bu yapıldıktan sonra, push iletişim kutusunu kullanarak ezilmiş işlemenizi itebilirsiniz.

Squash iletişim kutusu

IntelliJ'de geri ödeme hakkında daha fazla bilgi burada .


9
"Rebase branch" diyaloğunun "Onto alanına" ne girileceğini öğrenmek için bu Git Tools - Rewriting History makalesini okumak da yararlı olabilir : e..g HEAD~3, son 3 commit'i seçmek için kullanılabilir.
TmTron

bir grup taahhüdü bir araya getirdiğinizde, bu işlemlerin her birinin ayrı ayrıntıları kaybolur mu? sadece büyük bir taahhüt gibi mi görünüyor?
ycomp

@ycomp Evet, etkileşimli yeniden taban, geçmişi yeniden yazar, böylece tek tek sıkıştırılmış kayıtlar kaybolur ve onların yerine yeni bir tekli oluşturulur.
Bohuslav Burghardt

Teşekkürler, bir squash'ı geri alabilir misin?
ycomp

@ycomp Aslında bunu hiç yapmadım, ama mümkün olmalı. Lütfen aşağıdaki SO gönderilerine bakın: stackoverflow.com/q/10260151/1291150 , stackoverflow.com/q/134882/1291150
Bohuslav Burghardt

35

Yeni bir yol var:

Sürüm Kontrolü -> Günlük -> İşlemeye sağ tıklayın -> Interactively rebase from hereve ardından geri kalan taahhütleri seçebilir / ezebilirsiniz.


1
Bu yaklaşımla ilgili sorun, birden fazla kaydetme için "Squash" seçmenin bir yolu olmaması ve bunu tek tek yapmanın yorucu olmasıdır.
Dmitry Serdiuk

4
@DmitrySerdiuk ezmek istediğiniz commit'leri seçmek için kaydırabilir ve ardından sağ tıklayıp -> squash'ı seçebilirsiniz.
Aarjav

1
@Aarjav Aman Tanrım bu tam olarak eksik olduğunu düşündüm! İletişim kutusundaki sağ tıklama menüsü hakkında ipucu yok.
o_nix

21

Benim için intellij'in en basit yolu:

  • Git Logsen kabak istediğiniz taahhüt sekmesi ve seçti
  • Sağ tıklayın ve seçin Reset Branch to this commit
  • mixinYaptığınız değişiklikleri kaydetmeden korumak için seçenekleri seçin
  • Değişikliklerinizi yapın ve Amend commitseçeneği işaretlemeyi unutmayın

1
Bu gerçekten de en basit yol ve bunu en az stresli ve hataya açık buluyorum.
davrog10

2
3. adımda , tüm değişikliklerin taahhüt için önceden hazırlanmış olması Softyerine bir seçenek belirlemenin daha iyi olacağını öneriyorum Mixed.
provota
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.