SORU
16 Kasım 2011, ÇARŞAMBA


Nasıl "" Git rebase çelişkili ortasında değişiklik var mı?

Çelişkili dalları, branch2 branch1 gelen dallı var.

Hadi branch1 iken çözme geçerli çatışmalar branch2 rebasing, almaya karar verdim diyelimbazı(hepsi değil) "" (yani branch1) dosyaları gibi.onların Nasıl yapabilirim?

Denedim:

git checkout branch1:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java

git checkout refs/heads/branch1:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java

CEVAP
16 Kasım 2011, ÇARŞAMBA


Aradığınız sanırım

git checkout branch1
git rebase branch2
... foo/bar.java conflict. We want the version that was at the head of branch1 
... which was popped off and applied after branch2's commit(s).
git checkout --theirs foo/bar.java
git add foo/bar.java

O zaman bütün sorunların çözülmüş sonra 7**.

Edit 7/16/2013: cevabım sorulan soru için doğru olduğuna inanıyorum. Soru branch1 üzerinde branch2 rebasing zaman branch1 sürümünü seçmek için nasıl olduğunu sordu. Branch1, branch1 üzerine ne zaman rebasing branch2 tamamlar üst düğüm çözülmemiş ve branch2. branch1, sonra branch1. branch2. üstüne eklenen tamamlar itilir taahhüt eder. Bir çatışma durumunda, branch2 şey yaparsa bizimkiler ve branch1 onlarınkini haline tamamlar. Bu biraz kafa karıştırıcı olduğunun farkındayım, ama ben sadece bir test havuzunda çalıştı ve ben açıklamak gibi çalışır.

Mümkün olduğunda, soru sorar, "ben, karar vermek için bazı (hepsi değil) "kendi" (yani branch1)", kesinlikle mümkün haritalama "kendi" için "branch1" istenmeyen, ama aslında doğru.

Edit 7/30/2014: benim cevabım ile bazı karışıklık çözmek için umuyorum. Sorunun temeli, yalnızca şubelerin hedef Şube Başkanı önce olan bir ebeveyn varsa bir rebase sırasında gerçekleşen bir birleştirme çakışma çözümleme. O yüzden git checkout branch1, git rebase branch2 o zaman durum şu olur. Eğer branch1 kafası branch2s yeni iptalleri veli ise, varsayılan olarak kaydeder hızlı branch1 ve üzerine iletilir branch2. çakışma olabilir. Ama eğer üst branch1 ve branch2. önce branch1 kafası, sonra tamamlar geçmiş üst branch1 olacak çözülmemiş gelen branch1, branch2. taahhüt olacak hızlı iletilen üzerine branch1, branch1. taahhüt uygulanır sonra branch2 bu taahhüt sırasında hangi olabilir bir çatışma. Bu durumda, branch2 itibaren uygulanan tamamlar bizimdir ve branch1 gelen tamamlar onların haline. Eğer gıt bu çalışırsanız bu durumda olması için bulacaksınız.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Migs351

    Migs351

    3 HAZİRAN 2007
  • superflyy88

    superflyy88

    8 ŞUBAT 2009
  • YouChewBu

    YouChewBu

    26 Ocak 2009