SORU
1 HAZİRAN 2011, ÇARŞAMBA


Gıt Rebasing uzak dalları

Ara Git bir depo olan insan klonlama ve çalışma uzak bir SVN deposu, ayna kullanıyorum. Ara depoyu usta şube rebased Yukarı SVN gelen gece ve özelliği dallar üzerinde çalışıyoruz. Örneğin:

remote:
  master

local:
  master
  feature

Başarıyla özellik benim şube uzak itin, ve bekliyorum ne kadar güçlü olabilir:

remote:
  master
  feature

local:
  master
  feature

Ben daha sonra yeniden Kur şube uzaktan izlemek için:

remote:
  master
  feature

local:
  master
  feature -> origin/feature

Ve her şey yolunda. Burada yapmak istediğim şey uzaktan kumandanın ana şube özelliğini şube rebase, ama benim yerel makinede bunu yapmak istiyorum. Yapmak istiyorum:

git checkout master
git pull
git checkout feature
git rebase master
git push origin feature

Uzaktan özelliği dalını tutmak için bugüne kadar uzak ana ile. Ancak, bu yöntem, Git şikayet nedenleri:

To <remote>
 ! [rejected]        feature -> feature (non-fast-forward)
error: failed to push some refs to '<remote>'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

git pull hile yok ama birleştirme önlemek için istediğim bir tamamlama neden olur. Mesajı feature -> origin/feature yerine feature -> feature bildiren endişeliyim ama bu sadece bir sunum şey olabilir.

Bir şeyler eksik ya da tamamen yanlış bir şekilde bu konuda gidiyorum? Kritik uzak sunucuda rebase yaparak önlemek için, ama herhangi bir rebase gelen çatışmalar birleştirme düzeltilmesi çok daha zor hale getirir.

CEVAP
1 HAZİRAN 2011, ÇARŞAMBA


Eğer Diğerleri çalışma dışı bırakırsanız özelliği, bir kişi tarafından kullanılıp kullanılmadığını ya geliyor. Eğer sadece sen eğer rebase sonra itme kuvveti:

git push origin feature -f

Eğer diğerleri üzerinde çalışıyorsanız ancak, birleştirme ve usta rebase kapalı değil.

git merge master
git push origin feature

Bu işbirliği yaptığınız o insanlarla ortak bir tarihi olduğunu garanti eder.

Farklı bir düzeyde, arka birleştirir yapıyor olmalı. Yaptıklarınız başka özelliği, bu şube ile Sonraki İş daha zor hale ait olmayan haller - rebasing değildir ve her özellik Şubesi geçmişi kirlidir.

Bu konu branch per feature adlı makalem.

Bu yardımcı olur umarım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010