2013-03-31 17 views
19

Tüm şubelerimi geçerli şubeden master'a geri yüklemeye ve çöpe atmaya çalışıyorum. ondan sonra ben çalışıyordum,Git: Şubeden ustaya nasıl işlenecek ve çekilecek?

git checkout -b new-feature 

kaydedilmesini bir çiftsiniz: İşte benim yapmaya çalıştığım şey bu bu durumda

git rebase -i master 

new-feature dalında kalacaktır taahhüt

git checkout master 
git rebase -i new-feature 

Bana noop mesajı ile pencere açıp düzenler.

Ben komuta hakkında bilmek:

git merge --squash new-feature 

Ama şu anda rebase komuta öğrenmeye çalışıyorum.

cevap

4

Yeniden oluşturma sırasında, Git işlemi başka bir dalda hareket etmeyecektir. Tüm işleri de dahil olmak üzere şubeyi hareket ettirecek. İşlemleri üst üste yeniden oluşturduktan sonra ana kaliteye almak istiyorsanız, ana şubeyi bu işleme yönlendirmek için git merge <branch tip or commit of branch> kullanın.

45

Adımlara gidelim.

1 - Biz

git checkout -b new-feature 

2 yeni özellik dalı oluşturmak - Şimdi eklemek/

git add <new-file> 
git commit -am "Added new file" 
git rm <file-name> 
git commit -am "Removed a file" 
cat "add more stuff to file" >> <new-file> 
git commit -am "Updated files" 

3 yeni dal üzerinde ne istersen kaldırmak ve güncelleme yapabilirsiniz - Daha sonra, almak ve kabak herhangi bir hoş bir güzel taahhüt iletisine dönüştürür

Burada hatırlamanız gereken önemli şey, İlk işlemden sonra tüm taahhütler için "seçim" ifadesini "seç" yazan metni değiştirmek. Bu, tüm taahhütleri ana dalınıza indirecek.

4 -

git checkout master 

5 ana dalı Seç - HEAD ve yeni özellik olduğu için ana dalı taşı:

git rebase new-feature 

Bu komutların tümü deneyebilir Görme aracı: http://pcottle.github.io/learnGitBranching/

+5

Muhtemelen bunu yapmadan bir 'daha önce işlem yapmadan squash yapamazsınız' iletisi alırsınız. http://stackoverflow.com/questions/2563632/how-can-i-merge-two-commits-into-one – backdesk

+0

Güzel olsa da genellikle komisyonlarım çöker-git rebase -i HEAD ~ ## 'önce çek/rebase 'git pull --rebase orijinli master' Yapmayı iki adımda yapmayı seviyorum, bu da rebase'den önce/sonra gözden geçirmemi sağlıyor. – Tracker1

+1

Bu cevap, bir tane daha aldım – fernandopasik