SORU
21 EYLÜL 2013, CUMARTESİ


Git arasındaki fark --rebase çek çek

Git kullanmaya bir ara tekrar başladım ve tam inceliklerini anlamıyorum. Benim temel soru burada bulmak arasındaki fark git pull git pull --rebase beri ekleme --rebase seçenek değil, yapmak çok farklı bir şey : sadece bir çek.

Farkı anlamak için bana yardım et lütfen.

CEVAP
21 EYLÜL 2013, CUMARTESİ


Bazen bağlı olduğumuz şube sar/rebased bir memba var. Bu ise aşağı kalırsak bizim için dağınık çatışmaların neden olan büyük bir sorun olabilir.

Sihirli komut git pull --rebase

Normal bir git Çek, gevşek konuşma, Aşağı Yukarı böyle bir şey (uzak denilen bir köken ve bir şube tüm bu örneklerde foo adlı kullanacağız)

# assume current checked out branch is "foo"
git fetch origin
git merge origin/foo

İlk bakışta, git pull --rebase sadece bu mu düşünebilirsiniz:

git fetch origin
git rebase origin/foo

Ama akıntıya karşı rebase yer varsa yardımcı olmaz "" (yama-kimlikleri değişti, sadece siparişini tamamlar yani). ezmek

Git pull --rebase ki biraz daha fazlasını yapmak zorunda. Burada ne yaptığı ve nasıl bir açıklama.

Başlangıç noktası diyelim:

a---b---c---d---e  (origin/foo) (also your local "foo")
Time passes, and you have made some commits on top of your own "foo":

a---b---c---d---e---p---q---r (foo)

Bu arada, anti-sosyal öfke bir uyum içinde, Yukarı projeyi yürüten onun rebased", hatta bir iki squash kullanılır. "fon sadece Taahhüt zincir onun şimdi bu gibi görünüyor:

a---b c---d e---f  (origin/foo)

Bu noktada çek git bir kaosa neden olacaktır. Hatta git getir; git rebase origin/foo olmaz kesik, çünkü işleyen "b" ve "c" bir yana, işlemek "b c" diğeri, çatışma. (Ve benzer şekilde d, e, d ve e ile).

--Rebase çekin ne, bu durumda, geliyor

git fetch origin
git rebase --onto origin/foo e foo

Bu size verir:

a---b c---d e---f---p'---q'---r' (foo)

Olabilir hala çatışmalar, ama onlar gerçek çatışma arasında p/q/r ve a/b c/d e/f) ve çatışmalar nedeniyle b/c ile çakışan b, c, vb.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011