2017-06-22 116 views
6

Kod yazarken kolay ve hızlı bir şekilde gözden geçirilebilen küçük mantıksal değişikliklere bölünürüm.GitHub istekleri teslim siparişi nasıl giderilir, git rebase tarafından kırıldı?

Bunu yapmak için, git rebase -i (etkileşimli) komutunu kullanarak, siparişlerin sırasını doldurun, bırakın ve değiştirin.

Bu durumun, bazen GitHub çekme isteğinde farklı bir sipariş sırasına yol açtığını fark ettim (sipariş, uzak dalda saklanmasına rağmen).

  • işlemek: Örneğin

    ,

    • olarak 2
    • PR görünebilir

    3 işlemek uygula c ommit 1

  • İnternet arama ve yalnızca bu GitHub yardım sayfasını bulmak için başardınız 2

taahhüt: Why are my commits in the wrong order? Onların cevabı:

olarak git rebase veya bir yoluyla işlemek tarihi yeniden yazmak durumunda itme zorla, , bir çekme isteği açarken taahhüt sıranızın bozuk olduğunu fark edebilir.

GitHub, Çekme İsteklerini tartışma alanı olarak vurgular. Tüm yönleri - yorumları, referansları ve yetkileri - bir kronolojik sırayla temsil edilir. Git işlem geçmişinin yeniden yazılması while performing rebases, yer-zaman sürekliliğini değiştirir; bu, anlamına gelir; bu, GitHub arabiriminde olmasını beklediğiniz şekilde gösterilmeyebilir.

Her zaman siparişleri düzenli olarak görmek isterseniz, git rebase ürününü kullanmanızı öneririz. Ancak, kronolojik sıralamanın dışındaki şeyleri gördüğünüzde hiçbir şeyin kırılmayacağından emin olabilirsiniz!

Bu konu üzerinde çalışmanın bir yolu var mı?

+0

Bence oldukça iyi bir bilgi kaynağına ulaştın. Github personelinin github hakkında çok şey bildiğini ve daha fazlasını bilen birini bulmanın çok zor olacağını düşünüyorum. Yani [github yardımı] (https://help.github.com/articles/why-are-my-commits-in-the-wrong-order/), siparişleri görebilmenin tek yolunun, git git rebase 'muhtemelen başka bir işyeri yok **. –

+1

@ running.t cevabımı gör. :) "GitHub, Çekiş İsteklerini tartışma alanı olarak vurgulamaktadır" hakkında – Eliad

+1

deneyimimden, taahhüt sayfasının aynı sorundan muzdarip olduğunu. Tüm taahhütler yaratma süresine göre sıralanır. Birleştirilmiş taahhüt, "orijinal" (birleştirme öncesi) taahhüt ağacının içine karıştırılır – eplaut

cevap

4

ben bu geçici bir çözüm başardınız: Geçen bu emri

  • Run git rebase -i <hash of that commit>
  • tüm pick
  • reword ile Çalıştır değiştirin korudu işlemek bulun

    1. git push -f

    Bundan önce değiştirmeyi denedim Ayrıca, aşağıdaki tüm karmaları değiştiren ilk taahhüt mesajı, ancak bunu düzeltemedi.

    Bunu yapmak için her bir taahhütte bulunmak zorundaydım.