2011-03-24 15 views
355

Yerel repo'umda geliştirdiğim bir şubem var ve orijini ittiğimde orijin/master ile birleştirildiğinden emin olmak istiyorum. Şu anda, bir uzaktan geliştirme şubesine eklediğimde.Yerel bir Git dalını uzaktan kumandadaki ana şubeye nasıl ittiririm?

Bunu nasıl yapabilirim?

+0

Eğer origin' 'içine lokal olarak birleştirme ve ardından uzaktan o itmek istemiyorum özel bir sebebi var mı? – bhamby

+0

Sanırım @gollador yerel olarak "master" ile birleştirmek anlamına geliyor - ama geçerli bir nokta. Orijin ana dalı için yeterince kararlıysa, o zaman * kesinlikle * ana dalınız için yeterlidir! – Cascabel

+1

@Jefromi Yeah, whoops, typo. -_- – bhamby

cevap

606
$ git push origin develop:master 

veya daha genel

muhtemelen mipadi gelen cevabı kesinlikle doğru olduğunu yapmak ... istemiyoruz yorum olarak bahsedilen kişiler gibi
$ git push <remote> <local branch name>:<remote branch to push into> 
+19

Mevcut şubenizi kaldırabilen "git itme kaynağı: master" yapmayın. –

+28

True @MangirdasSkripka! Sadece geçerli dalın ismini belirtmek istemiyorsanız, git git asıl başlığını kullanın: master –

+15

İyi Fikir @ FrancescRosàs, HEAD (büyük harfler) olsa da. – smoku

153

sen 'sen biliyor eğer Yapıyorsun.

söyleyebilirim:

git checkout master 
git pull    # to update the state to the latest remote master state 
git merge develop  # to bring changes to local master from your develop branch 
git push origin master # push current HEAD to remote master branch 

 

+13

Sadece bahsetmek gerekirse, onun isteği ile ilgili bir mantık var, bu davayı kullanarak geliştirmemi (itme) Heroku ustası –

+4

'a tekrar kullanıyorum, bu teknik sadece gelişmiş git kullanıcıları için IMHO'dur. Çok zor olmadığından değil, sadece insanların ne yaptıklarını ve neden işlediğini anlamalarını gerektiriyor. Herkes beğenilerine gitmek için serbesttir, ama özellikle yeni gelenler için eğitim amaçlı önerdiğim yaklaşımı takip etmeyi düşünüyorum. Temiz "konu dalları" başlamanın yoludur, gerekirse daha sonra iş akışınızı optimize edebilirsiniz. –

+1

Aslında yapmak için oldukça yaygın bir şey. Ana şube genellikle dağıtım şubenizdir. Eğer iki takım kasıtlı olarak dağılmalarını bozarsa, o zaman yamalar yukarı doğru ilerletmek için kiraz toplama yerel şubesini kullanacaksınız.Şimdi, değişikliklerin bir şubeye yukarı doğru itilmesi gerektiğini ve daha sonra oradan ustaya birleştirilmesi gerektiğini iddia edebilirsiniz, fakat bunu diğer yolla IMO yapmak kesinlikle garip değil. – dgatwood