Як я можу постійно підтримувати свою філію майстра з git?


126

У мене є виправлення помилок у мого майстра, і я також хочу, щоб моя філія отримала цю помилку. Яку gitкоманду я використовую?

Відповіді:


172

Якщо припустити, що ти все добре зміниш у майстер, то, що ти хочеш, це:

git checkout <my branch>

переключити робоче дерево на вашу гілку; тоді:

git merge master

щоб об'єднати всі зміни майстра з вашими.


5
І це просто додає зміни від мого господаря до моєї гілки, і залишає майстра в спокої, правильно?
Нік Хаббард

3
@ Nic - це призведе до всіх зобов'язань від майстра, а не лише виправлення помилок. Будьте впевнені, чи це ви хочете зробити.
manojlds

12
@Nic - Правильно, це не змінює майстер.
Джон Доті

16
Можливо, радимо порекомендувати початкового "git checkout master; git pull", щоб гарантувати актуальність місцевого відділення майстра. Зазвичай очевидно, але ...
MikeW

Як ярлик початкового оформлення замовлення / злиття, чи можете ви просто зробити "майстер походження git pull origin", щоб перетягнути майстер сервера / злиття в локальну реєстрацію?
користувач1172173

66

Якщо ваша філія є лише локальною і не була висунута на сервер, використовуйте

git rebase master

В іншому випадку використовуйте

git merge master

18
Оскільки вона змінює історію фіксації, і ви не хочете пересувати змінену історію пошуку на сервер.
Четан

1
Якщо ви використовуєте сховище svn як своє віддалене сховище - через - git svnтоді git rebase masterце шлях, щоб зберегти лінійну історію, що і розуміє svn.
алондоно

15

Ви можете скористатися програмою вишеньки, щоб отримати конкретні виправлення помилок

$ git checkout branch
$ git cherry-pick bugfix

чи буде вишня вибору працювати лише в тому випадку, якщо виправлення являє собою гілку, яка була об'єднана назад у головний?
Прасіт Говін

1
Ви можете вибирати вишню, але тоді після об’єднання гілки в головний (коли гілка готова), ви будете виконувати помилку виправлення двічі за всю історію.
Готьє

0

Якщо ви просто хочете, щоб виправлення помилок було інтегровано у гілку, git cherry-pickвідповідні комісії.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.