Що робити далі: продовжувати надавати нові функції або виправляти інші помилки у власних спеціалізованих гілках (натиснуті лише на вашу вилку).
Значить, ваша виделка залишається, але гілки у вашій вилці можуть приходити та йти.
Ви також можете видалити вилку, якщо не плануєте робити подальший внесок, але вона видалить відповідний запис у "Сховищах, до яких ви вносите внесок" .
Простіше:
- видаліть свою
fix
філію (насправді вона тепер видалена для вас ) на вилці (і у вашому місцевому клонованому репо: див. " Видалення гілки Git як локально, так і віддалено ")
git pull upstream master
(якщо це master
була гілка, в яку було вбудовано ваше виправлення: злиття буде швидким вперед): у цьому моменті не потрібна нова база.
- відтворити гілку виправлення поверх оновленої локальної програми
master
(зараз із останньою версією від upstream master
).
Однак ніколи не забувайте жодного кроку, перш ніж надсилати будь-який майбутній запит на витяг:
перезавантажте спочатку свою поточну гілку ( fix
) з гілки призначення вище
( upstream
будучи оригінальним репо, яке ви роздвояли: див. " Яка різниця між походженням і вище за течією в github ")
Перш ніж надсилати що-небудь назад до оригінального репо-версії ("вище за течією"), вам потрібно переконатися, що ваша робота базується на останньому з вказаного оригінального репо-репортажу (або запит на витяг не призведе до швидкого злиття вперед, коли застосовано назад на upstream
репо).
Дивіться, наприклад, " Робочий процес для керування запитами на виклик для спільних репостів у github ".
Іншими словами, ви upstream
можете еволюціонувати (створювати нові комісії), поки ви зайняті виправленням матеріалів. Вам потрібно повторно виправити свої виправлення поверх цієї останньої роботи з вищого потоку, щоб переконатися, що ваші комісії все ще сумісні з останньою версією upstream
.
OP Сантош Кумар запитує в коментарях :
Я потягнув і злився з upstream
майстром, що тепер?
Якщо ви не вносили жодних нових виправлень з часу свого останнього запиту на витяг, див. Вище (видаліть та відтворіть нову гілку fix
вгорі оновленої master
).
Якщо ви зробили якусь додаткову роботу з моменту запиту на виклик, я б не зливався, upstream
якщо я хочу зробити новий запит на витягнення: я б перетягнув і перезавантажив :
git pull --rebase upstream master
Таким чином, вся моя нова локальна робота відтворюється на вершині останніх upstream
master
комітетів (зібрана в моєму місцевому репо-репортажі), припускаючи, що master
це цільова гілка, яка буде інтегрувати мій майбутній запит на виклик.
Тоді я можу підштовхнути свою локальну роботу до ' origin
', що є моєю вилкою на GitHub of upstream
.
І з моєї розвідки на GitHub я можу спокійно зробити запит на витяг, знаючи, що він додасть лише нові комісії, upstream
не потребуючи жодної резолюції злиття: об'єднання цих нових комітетів у upstream
репо буде означати просте швидке злиття вперед.
git pull --rebase
Без вказівки сука , на вершині якої ви хочете перебазуватися вашим ( в даний час перевірило) fix
філія не буде працювати:
Це ( git pull --rebase
) говорить:
You asked to pull from the remote '`upstream`', but did not specify a branch.
Чи потрібно нарешті додати майстер? І що це буде робити? Чи видалить мою fix
гілку?
Так, ви можете вказати гілку, яка буде ціллю запиту на витяг, наприклад ' master
'.
Це не видалить вашу fix
гілку, але відтворить її вгорі над потоком, master
отриманим у вашому репо.
:)