Git ile şubemi master ile nasıl güncel tutabilirim?


126

Ustamda bir hata düzeltmesi var ve şubemin de bu hata düzeltmesini almasını istiyorum. Hangi gitkomutu kullanıyorum?

Yanıtlar:


172

Master'daki tüm değişiklikleri almakta iyi olduğunuzu varsayarsak, istediğiniz şey şudur:

git checkout <my branch>

çalışma ağacını kendi dalınıza geçirmek için; sonra:

git merge master

Master'daki tüm değişiklikleri sizinkiyle birleştirmek için.


5
Ve bu sadece ustamdan dalıma değişiklikleri ekler ve ustayı rahat bırakır, değil mi?
Nic Hubbard

3
@Nic - Bu, yalnızca hata düzeltmesini değil, ustadan tüm işlemleri getirecektir. Yapmak istediğin şeyin bu olduğundan emin ol.
manojlds

12
@Nic - Doğru, bu master'ı değiştirmez.
John Doty

16
Yerel ana dalın güncel olduğundan emin olmak için bir başlangıç ​​"git checkout master; git pull" önermek iyi olabilir. Genellikle barizdir, ama ...
MikeW

Ana teslim alma / birleştirme kısayolu olarak, sunucu yöneticisini çekmek / yerel teslim alınan şubeye birleştirmek için bir "git çekme kaynağı yöneticisi" yapabilir misiniz?
user1172173

66

Şubeniz yalnızca yerelse ve sunucuya gönderilmediyse, şunu kullanın:

git rebase master

Aksi takdirde kullanın

git merge master

18
Çünkü kayıt geçmişini değiştirir ve değiştirilmiş arama geçmişini sunucuya göndermek istemezsiniz.
Chetan

1
Eğer uzak git svndeponuz olarak bir svn deposu kullanıyorsanız - yoluyla - o git rebase masterzaman gitmenin yolu, doğrusal bir geçmişi tutmaktır, svn bunu anlar.
alondono

15

Belirli hata düzeltme işlemlerini almak için kiraz seçimini kullanabilirsiniz.

$ git checkout branch
$ git cherry-pick bugfix

kiraz toplama, yalnızca hata düzeltme ana ile yeniden birleştirilen bir dalsa işe yarar mı?
Prasith Govin

1
Seçebilirsiniz, ancak dalı ana olarak birleştirdikten sonra (dal hazır olduğunda) geçmişte iki kez hata düzeltme işlemine sahip olacaksınız.
Gauthier

0

Yalnızca hata düzeltmesinin şubeye entegre edilmesini istiyorsanız git cherry-pick, ilgili işlem (ler).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.