2012-06-01 24 views
6

Git'te, bazen uzun süren dallarda çalışıyorum. Hazır olduğumda birleştirmeyi daha kolay hale getirmek için zaman zaman ustaca yeniden inşa etmeyi seviyorum. Benim şubesinin geçmişi artık bu dalın uzaktan kumandanın geçmişi ile hemfikir çünküGit uzak dalını tek bir komutta imha edebilir ve yeniden oluşturabilir miyim?

rebasing sonra, bir uzak önceden kaydedilmiş bir itilmiş dalı itemezsiniz. Bu yüzden önce onu silmem gerek.

Bu benim şimdiki iş akışı:

git checkout my_branch 
git rebase master 
git push origin :my_branch # Delete remote version of the branch 
git push origin my_branch # Push up my new version of history on this branch 

son iki komutları yerine geçebilecek tek atom komut var mı?

+0

Yeniden biçimlendirilmiş bir dalı zorlayamayacağınızı bilmiyordum. Herkes nedenini biliyor? Rebase oldukça yaygın bir operasyon gibi görünüyor, neden "sadece" çalışmıyor? – Shahbaz

+2

Quoting http://help.github.com/rebase _ "Uzak bir repoya zorladığınız işleri yeniden yapmak kötü bir uygulama olarak kabul ediliyor. Böyle yapmak git tanrıların gazabını çağırıyor olabilir ... uyarıldınız "_ – Stefan

+0

@Stefan, oh iyi, iyi eski git-birleştirme benim için o zaman. – Shahbaz

cevap

10

Uzak şubeyi yeniden yazabilirseniz, git push --force my_remote my_branch'u kullanabilirsiniz.

+2

Bu, soruyu sorduğu gibi çözecektir, ancak Stefan doğru yolda. Daha önce bir uzaktan kumandaya ittiğniz yükleme işlemleri genellikle iyi bir uygulama değildir. – Emily

+0

Peki, o dalda çalışan tek kişi sizseniz muhtemelen sorun yok. – Stefan

+0

@Stefan - tam olarak benim durumum; bu benim özel şubem. Aksi halde yapmazdım. –

İlgili konular